Web アプリケーションを構築する場合、ユーザー認証を安全に管理することが重要です。これに必要な 2 つのライブラリは次のとおりです:
bcryptjs – パスワードを安全にハッシュ化して比較するために使用されます。
JSON Web トークン – ユーザー認証用の JWT トークンの署名と検証に使用されます。
安全なパスワード管理とトークンベースの認証のために、これら 2 つのライブラリを Node.js アプリケーションに実装する方法について説明します。
方法: Node.js で bcryptjs と jsonwebtoken を使用する
Web アプリケーションを構築するときは、ユーザー認証を安全に管理することが重要です。これに必要な 2 つのライブラリは次のとおりです:
インストールパッケージ
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