static auth
2.1.2
La forma más simple de agregar autenticación básica a un sitio web estático alojado en Vercel.
Originalmente creé esto para agregar una capa de autenticación a mis proyectos alojados en VERCEL, pero también se puede usar con el módulo http incorporado de Node y también debería funcionar con 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) Verificar las credenciales a través de los operadores
==o===hace que su código sea vulnerable a los ataques de tiempo. En su lugar, esto se puede resolver utilizando el paquete Safe-Comare.
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])
Requerido :
url ( cadena ): la URL base para proteger con la autenticación básica. Use / para restringir el acceso a todo el sitio web, o /<path> (por ejemplo /admin ) para restringir el acceso solo a una sección de su sitio.validator ( función ): una función que acepta dos parámetros ( user y pass ) y devuelve true si el acceso a las credenciales de inicio de sesión proporcionadas al área restringida.Opcional :
[options] ( objeto ):[directory] ( String , predeterminado a process.cwd() ): la ruta base para servir a los activos estáticos de. Por ejemplo, si una solicitud a my-website.com/app.css debe devolver el contenido del archivo ubicado en ./www/app.css (en relación con el script de nodo), entonces debe configurarlo en __dirname + '/www' , de lo contrario, el script buscará ./app.css , que no existe, y devolverá un 404.[onAuthFailed] ( función ): una devolución de llamada que acepta un parámetro ( res , un objeto http.ServerResponse ), útil si desea devolver un mensaje de error personalizado o una página HTML cuando las credenciales proporcionadas no son válidas.[realm] ( String , predeterminado es 'default-realm' ): vea cuál es el "reino" en la autenticación básica (stackoverflow).[serveStaticOptions] ( objeto , predeterminado a {} ): opciones para pasar al módulo estático subyacente que se usa para servir los archivos (consulte un ejemplo de uso aquí).