在Node.js后端处理用户身份验证
在NodeJS后端处理用户验证似乎有用的模块。
把密码进行哈希处理
包裝:
yarn add bcrypt
yarn add --dev @types/bcrypt
被设想的情况
-
- クライアント側から送られてきたパスワードをハッシュ化してデータベースに格納する。
- データベースに格納されたハッシュ化したパスワードと認証のために送られてきたパスワードを比較する。
...
import bcrypt from 'bcrypt';
...
action: async (request: Request, response: Response) => {
const saltRounds: number = 10;
const hashedPassword: string = await bcrypt.hash(request.body.password, saltRounds);
const result: boolean = await bcrypt.compare(request.body.password, hashedPassword);
const result2: boolean = await bcrypt.compare('wrong_password', hashedPassword);
console.log(hashedPassword); // --> ハッシュ化されたパスワード
console.log(result); // --> TRUE
console.log(result2); // --> FALSE
...