static auth
2.1.2
Самый простой способ добавить базовую аутентификацию на статический веб -сайт, размещенный на Vercel.
Первоначально я создал это, чтобы добавить уровень аутентификации в свои проекты, размещенные на Vercel, но его можно использовать со встроенным http -модулем Node и должен работать с 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) Проверка учетных данных через операторы
==или===делает ваш код уязвимым для атак с времени. Это может быть решено с помощью пакета безопасного компонента.
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])
Необходимый :
url ( String ): базовый URL для защиты с помощью базовой аутентификации. Используйте / чтобы ограничить доступ ко всему веб -сайту, или /<path> (например /admin ), чтобы ограничить доступ только в разделе вашего сайта.validator ( функция ): функция, которая принимает два параметра ( user и pass ) и возвращает true если предоставленные учетные данные предоставят доступ в ограниченную область.Необязательный :
[options] ( объект ):[directory] ( строка , по process.cwd() . Например, если запрос на my-website.com/app.css должен вернуть содержимое файла, расположенного по адресу ./www/app.css (относительно скрипта узла), вы должны установить это на __dirname + '/www' , в противном случае сценарий будет искать ./app.css - который не существует - и вернет 404.[onAuthFailed] ( функция ): обратный вызов, который принимает один параметр ( res , объект http.ServerResponse ), полезно, если вы хотите вернуть пользовательское сообщение об ошибке или HTML -страницу, когда предоставленные учетные данные недействительны.[realm] ( строка , по умолчанию 'default-realm' ): см. «Что такое« царство »в базовой аутентификации (StackOverflow).[serveStaticOptions] ( объект , по умолчанию {} ): параметры, которые можно передать в базовый модуль Servate-Static , который используется для обслуживания файлов (см. Пример использования здесь).