12. ハッシュ化されたパスワードでログインしよう
ハッシュ化されたパスワードでログインしよう
目標:ハッシュ化されたパスワードにてログインすること
パスワードを比較しよう
比較に必要な
bcrypt.compare()
を使用する。
このようなメソッドをcompareメソッドという
このように覚える。
ex.
bcrypt.compare(plain, hash, (error, isEqual) => {
このように書く。
比較した結果によって処理を変えよう
下記のコードをcompareメソッドを使って書く
- 平文のパスワードとハッシュ化されたパスワードが一致した場合
- パスワードが一致しなかった場合
Ex.
bcrypt.compare(plain, hash, (error, isEqual) => {
if ( isEqual) {
req.session.userId = results[0].id;
req.session.username = results[0].username;
} ellse {
res.render('/logiin');
}
演習問題
- 定数plainを定義
- 定数hashを定義
- パスワードを比較するためのcompareメソッドを追加
- パスワード比較を行った後、true,falseに応じたif文を書く(isEqualがtrueの場合、指定コードを貼り付け)
- falseの場合、/loginにリダイレクトする(コードを書く)
- 不要なユーザー認証処理の取り消し
上記の処理が完了したら、新規登録を試す。
ログインできたら成功。
今回はここまでです。長らくお疲れ様でした。