【Node.js】jsonwebtokenを使って、JWTを設定する
JWT は、Json Web Token の略です。
JWT を使用することで、JSON オブジェクトの認証データを安全に送信することができます。
node.js で JWT を使用するために、jsonwebtoken を追加します。
コードは、前回までのコードを使用します。
【Node.js】bcryptを使って、パスワードをハッシュに変換する
index.js
routes/auth.js
model/user.js
controllers/auth.js
ターミナルで、npm install --save jsonwebtokenを実行します。
controllers の auth.js を開きます。
loginを作成し、emailとpasswordを設定します。
mongoose の findOne で、emailを選択します。
もし、メールアドレスが見つからなかった場合、エラーを出力する様にします。
bcrypt でハッシュ化したパスワードと入力したパスワードがあっているか検証します。
次に、パスワードが間違っている場合は、エラーを出力します。
jsonwebtoken を呼び出します。
jsonwebtoken の sign に、email を保存します。
sign の第二引数に、秘密鍵を設定します。
今回は、適当な文字列にします。
第三引数に、トークンの有効期限を設定します。
今回は、1 時間にします。
ログインが成功した場合、ステータスコード 200 とトークンを返す様にします。
エラーの場合、エラーメッセージを表示します。
一通り完成したので、Postman で確認します。
では、送信ボタンを押してみます。
無事、トークンが返ってきました。
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)