[TIL]NestJS学習32日目

1739 ワード

JWT


ログイン認証サービスを実現するためのjwt.
nestがどのように使われているか見てみましょう.

JWT準備完了

npm install --save @nestjs/jwt passport-jwt
npm install --save-dev @types/passport-jwt

JWTベース


auth.service.tsファイルを変更します.コンストラクション関数のインタフェースを少し修正し、login()メソッドを追加しました.登録カッコ内はuser:anyですが、変数宣言方式によってはvalidateUser()のように変数名を入力する方法も正常に動作することが確認されました.login()メソッドを正式に確認します.
return部分を確認すればよいが,jwtService@nestjs/jwtから導入され,sign()でaccesstokenに戻る方法である.
上のコードは私が普通の宅配便で送ったコード部分です.まず、リリースキーまたは有効期限がまだ確定していないため、未完了のコードとみなされます.
もっとよく勉強しなさい.

JWT完了


authフォルダでauth.constants.秘密を返すためにtsを作成します.
キーを共有させていただき、先ほどexpressのコードでenvを使用しましたが、ここではファイルとして使用されているようです.
ファイルauthが作成されました.module.tsにファイルを更新させます.
ファイルがかなり変更されました.よく確認するとregister()ですが、secretsignOptionsを使って鍵の確認と有効期限を設定できます.選択肢はもっと多いですが、書く必要がないので、こんなに少ないです.
これにより、register()メソッドを使用してJWTModuleを構成し、構成されたモジュールをAuthServicesign()メソッドとともに使用に戻すことができる.

JWTの使用例


コントロールで使いましょうapp.controller.tsでコードを少し修正します.

あとはPostmanで確認すれば、コインの発行を確認できます.