shinoblog-manabu

Progate(プロゲート)を使って初歩の初歩からプログラミング勉強をはじめました。無料から有料バージョンへ以降しつつ、自分辞書として活用しています。なるべく私と同じ初心者目線を使い、各プログラミング内容を説明したいです。

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にリダイレクトする(コードを書く)
  • 不要なユーザー認証処理の取り消し

 

上記の処理が完了したら、新規登録を試す。

ログインできたら成功。

 

 

今回はここまでです。長らくお疲れ様でした。