Beim Erstellen von Webanwendungen ist es wichtig, die Benutzerauthentifizierung sicher zu verwalten. Zwei wesentliche Bibliotheken hierfür sind:
bcryptjs – wird zum sicheren Hashen und Vergleichen von Passwörtern verwendet.
JSON-Web-Token – wird zum Signieren und Überprüfen von JWT-Tokens zur Benutzerauthentifizierung verwendet.
Wir besprechen, wie Sie diese beiden Bibliotheken in Ihrer Node.js-Anwendung für eine sichere Passwortverwaltung und tokenbasierte Authentifizierung implementieren.
Anleitung: Verwendung von bcryptjs und jsonwebtoken in Node.js
Beim Erstellen von Webanwendungen ist es wichtig, die Benutzerauthentifizierung sicher zu verwalten. Zwei wesentliche Bibliotheken hierfür sind:
Paket installieren
npm install bcryptjs
Jetzt zeige ich dir, wie man die Magie macht.
Das Gleiche, das Gleiche, erstellen Sie eine neue JS-Datei und denken Sie immer daran, das Paket zu benötigen.
const { hashSync, compareSync } = require("bcryptjs"); module.exports = { hashPassword: (password) => hashSync(password), comparePassword: (password, hashed) => compareSync(password, hashed };
So funktioniert es:
hashSync(password): Hasht das Passwort des Benutzers.
vergleichenSync(passwort, hashedPassword): Vergleicht das Klartext-Passwort mit der gehashten Version, um die Benutzeranmeldung zu validieren.
Installieren Sie das Paket:
npm install jsonwebtoken
Mitjsonwebtoken können wir für jeden authentifizierten Benutzer ein sicheres Token (JWT) erstellen. Dieses Token wird an den Client gesendet und kann zur Authentifizierung des Benutzers bei nachfolgenden Anfragen verwendet werden.
const { sign, verify } = require('jsonwebtoken'); const secretkey = "yoursecretkey"; // Secret key to sign the token module.exports = { logToken: (payload) => log(payload, secretkey), // Create JWT token verifyToken: (token) => verify(token, secretkey) // Verify JWT token };
So funktioniert es:
signToken(payload): Erstellt ein signiertes JWT mit der angegebenen Nutzlast (z. B. Benutzerdaten) unter Verwendung eines geheimen Schlüssels.
verifyToken(token): Verifiziert die Authentizität des JWT-Tokens mit demselben geheimen Schlüssel.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3