static auth
2.1.2
Cara paling sederhana untuk menambahkan otentikasi dasar ke situs web statis yang di -host di Vercel.
Saya awalnya membuat ini untuk menambahkan lapisan otentikasi ke proyek saya yang dihosting di Vercel, tetapi dapat digunakan dengan modul http
bawaan Node juga dan harus bekerja dengan Express.
$ npm i static-auth -s
# or
$ yarn add static-auth
const auth = require ( 'static-auth' ) ;
// Example with Vercel
module . exports = auth (
'/admin' ,
( user , pass ) => ( user === 'admin' && pass === 'admin' ) // (1)
) ;
(1) Memeriksa kredensial melalui
==
atau===
Operator membuat kode Anda rentan terhadap serangan waktu. Ini dapat diselesaikan dengan menggunakan paket safe-compare sebagai gantinya.
index.js
const auth = require ( 'static-auth' ) ;
// create a handler that will check for basic authentication before serving the files
const serveHandler = auth ( /* ... */ ) ;
// start the server
const http = require ( 'http' ) ;
const server = http . createServer ( serveHandler ) ;
server . listen ( 4444 , ( ) => console . log ( 'Listening on port 4444...' ) ) ;
auth(url, validator, [options])
Diperlukan :
url
( String ): URL dasar untuk melindungi dengan otentikasi dasar. Gunakan /
untuk membatasi akses ke seluruh situs web, atau /<path>
(misalnya /admin
) untuk membatasi akses hanya ke bagian situs Anda.validator
( Fungsi ): Fungsi yang menerima dua parameter ( user
dan pass
) dan mengembalikan true
jika kredensial login yang disediakan memberikan akses ke area terbatas.Opsional :
[options]
( objek ):[directory]
( String , default ke process.cwd()
): Jalur dasar untuk melayani aset statis dari. Misalnya, jika permintaan ke my-website.com/app.css
harus mengembalikan konten file yang terletak di ./www/app.css
(relatif ke skrip simpul), maka Anda harus mengatur ini ke __dirname + '/www'
, jika tidak skrip akan mencari ./app.css
- yang tidak ada - dan mengembalikan 404.[onAuthFailed]
( fungsi ): Panggilan balik yang menerima satu parameter ( res
, objek http.ServerResponse
), berguna jika Anda ingin mengembalikan pesan kesalahan khusus atau halaman HTML ketika kredensial yang disediakan tidak valid.[realm]
( String , default ke 'default-realm'
): Lihat apa itu "ranah" dalam otentikasi dasar (StackOverflow).[serveStaticOptions]
( Object , default ke {}
): Opsi untuk diteruskan ke modul sajian-statis yang mendasari yang digunakan untuk melayani file (lihat contoh penggunaan di sini).