static auth
2.1.2
Die einfachste Möglichkeit, einer statischen Website auf Vercel eine grundlegende Authentifizierung hinzuzufügen.
Ich habe dies ursprünglich erstellt, um meinen auf Vercel gehosteten Projekten eine Authentifizierungsschicht hinzuzufügen. Sie kann jedoch auch mit dem integrierten http
Modul des Knotens verwendet werden und sollte mit Express arbeiten.
$ 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) Überprüfung von Anmeldeinformationen über die Operatoren
==
oder===
Ihren Code ist anfällig für Timing -Angriffe. Dies kann stattdessen durch die Verwendung des Safe-Compare-Pakets gelöst werden.
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])
Erforderlich :
url
( String ): Die Basis -URL zum Schutz vor der grundlegenden Authentifizierung. Verwenden /
um den Zugriff auf die gesamte Website oder /<path>
(z. B. /admin
) einzuschränken, um den Zugriff nur auf einen Abschnitt Ihrer Website zu beschränken.validator
( Funktion ): Eine Funktion, die zwei Parameter ( user
und pass
) akzeptiert und true
zurückgibt, wenn die angegebenen Anmeldeinformationen Zugriff auf den eingeschränkten Bereich gewähren.Optional:
[options]
( Objekt ):[directory]
( String , Standardeinstellungen zu process.cwd()
): Der Basispfad, um die statischen Vermögenswerte aus zu dienen. Wenn beispielsweise eine Anfrage an my-website.com/app.css
den Inhalt der Datei unter ./www/app.css
(relativ zum Knotenskript) zurückgeben sollte, sollten Sie diese auf __dirname + '/www'
festlegen __dirname + '/www'
, sonst wird das Skript nach ./app.css
- was nicht existiert - und gibt einen 404 zurück.[onAuthFailed]
( Funktion ): Ein Rückruf, der einen Parameter ( res
, ein http.ServerResponse
-Objekt) akzeptiert, nützlich, wenn Sie eine benutzerdefinierte Fehlermeldung oder eine HTML -Seite zurückgeben möchten, wenn die angegebenen Anmeldeinformationen ungültig sind.[realm]
( String , Standardeinstellung zu 'default-realm'
): Sehen Sie, was der "Bereich" in der grundlegenden Authentifizierung ist (Stackoverflow).[serveStaticOptions]
( Objekt , Standardeinstellungen zu {}
): Optionen zum Übergeben an das zugrunde liegende servestatische Modul, mit dem die Dateien dienen (siehe hier ein Nutzungsbeispiel).