在建立 Web 應用程式時,安全地管理使用者驗證非常重要。兩個重要的庫是:
bcryptjs – 用於安全地散列和比較密碼。
JSON Web 令牌 – 用於簽署和驗證 JWT 令牌以進行使用者身份驗證。
我們將介紹如何在 Node.js 應用程式中實作這兩個函式庫,以實現安全密碼管理和基於令牌的身份驗證。
如何:在 Node.js 中使用 bcryptjs 和 jsonwebtoken
建立 Web 應用程式時,安全地管理使用者身份驗證非常重要。兩個重要的庫是:
安裝包
npm 安裝 bcryptjs
現在讓我向您展示如何施展魔法。
同樣的舊的,同樣的舊的,創建一個新的js檔案並始終記住需要該包。
const { hashSync, compareSync } = require("bcryptjs"); module.exports = { hashPassword: (password) => hashSync(password), comparePassword: (password, hashed) => compareSync(password, hashed };
運作原理:
hashSync(password):對使用者密碼進行雜湊處理。
CompareSync(password, hashedPassword):將純文字密碼與雜湊版本進行比較以驗證使用者登入。
安裝包:
npm 安裝 jsonwebtoken
jsonwebtoken 允許我們為每個經過身份驗證的使用者建立安全性令牌 (JWT)。此令牌會傳送到客戶端,並可用於在後續請求中對使用者進行身份驗證。
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 };
運作原理:
SignToken(payload):使用金鑰建立具有給定有效負載(例如使用者資料)的簽章 JWT。
verifyToken(token):使用相同的金鑰驗證 JWT 令牌的真實性。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3