static auth
2.1.2
A maneira mais simples de adicionar autenticação básica a um site estático hospedado no Vercel.
Originalmente, criei isso para adicionar uma camada de autenticação aos meus projetos hospedados no Vercel, mas também pode ser usado com o módulo http integrado do Node e deve funcionar com o 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) Verificação de credenciais através dos operadores
==OR===torna seu código vulnerável a ataques de tempo. Isso pode ser resolvido usando o pacote de compras seguras.
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])
Obrigatório :
url ( String ): o URL base para proteger com autenticação básica. Use / para restringir o acesso a todo o site, ou /<path> (por exemplo /admin ) para restringir o acesso apenas a uma seção do seu site.validator ( função ): uma função que aceita dois parâmetros ( user e pass ) e retorna true se as credenciais de login fornecidas concederem acesso à área restrita.Opcional:
[options] ( objeto ):[directory] ( String , Padrões para process.cwd() ): O caminho base para servir os ativos estáticos de. Por exemplo, se uma solicitação para my-website.com/app.css devolver o conteúdo do arquivo localizado em ./www/app.css (em relação ao script do nó), você deverá defini-lo como __dirname + '/www' , caso contrário, o script procurará ./app.css - que não existe - e retornará um 404.[onAuthFailed] ( função ): um retorno de chamada que aceita um parâmetro ( res , um objeto http.ServerResponse ), útil se você deseja retornar uma mensagem de erro personalizada ou página HTML quando as credenciais fornecidas forem inválidas.[realm] ( String , Padrões para 'default-realm' ): Veja qual é o "reino" na autenticação básica (StackOverflow).[serveStaticOptions] ( objeto , padrões para {} ): opções para passar para o módulo estático subjacente usado para servir os arquivos (consulte um exemplo de uso aqui).