NestJS - 3. JWTによるログイン
バックエンドロジックをNestとtsに正式に組織します.どんなプロジェクトを行っても、JWTを使用して最も基本的な機能であるログイン機能を実装してみます.
JWTとは何かについては、リファレンスの記事を参照してください.(タグダウンロードとHTMLを組み合わせて...)
1.JWTパッケージの準備
ヘッダ:base 64に符号化されたtokenタイプとアルゴリズム Payload:base 64符号化データ(キー値)、ユーザ情報 を含む署名:Header/Payloadを組み合わせて秘密鍵で署名します.base 64として符号化される. したがって、ログイン認証プロセスは次のようになります.
1.ユーザから送信された要求のメールがデータベースに存在するかどうかを確認する
2.アカウントのパスワードと要求のパスワードが正しいことを確認する
3.ユーザのemailとアカウント情報を秘密鍵で署名して発行する
3.ログインJWTの実装
JWTとは何かについては、リファレンスの記事を参照してください.(タグダウンロードとHTMLを組み合わせて...)
1.JWTパッケージの準備
必要なパッケージに関連するコマンドの取得npm i --save @nestjs/passport passport passport-local
npm i --save-dev @types/passport-local
npm i --save @nestjs/jwt passport-jwt
npm i --save-dev @types/passport-jwt
次にauthモジュールとサービスを作成し、検証ロジックを追加します.nest g mo auth
nest g s auth
2.設計登録JWT
JWTを使用してログインする手順を以下に示します.
リファレンス
JWTはHeader、Payload、Signitureからなる.
npm i --save @nestjs/passport passport passport-local
npm i --save-dev @types/passport-local
npm i --save @nestjs/jwt passport-jwt
npm i --save-dev @types/passport-jwt
nest g mo auth
nest g s auth
JWTを使用してログインする手順を以下に示します.
リファレンス
JWTはHeader、Payload、Signitureからなる.
1.ユーザから送信された要求のメールがデータベースに存在するかどうかを確認する
2.アカウントのパスワードと要求のパスワードが正しいことを確認する
3.ユーザのemailとアカウント情報を秘密鍵で署名して発行する
3.ログインJWTの実装
GitHubを参照
後で追加します
4.Dependency Injection
Account ModuleはAuthモジュールを参照する必要があり、AuthもAccountを参照する必要があります.
->ループ参照に注意してください.
循環参照エラーログ
"Nest cannot create the module instance"auth.module.ts
...
imports: [
...
forwardRef(() => AccountModule),
],
...
このようにforwardRefを使用すると、ループ参照を防止できます.( https://jakekwak.gitbook.io/nestjs/fundamentals/circular-dependency )
5.「」を参照してください。
JWTコンテンツ:https://hudi.blog/self-made-jwt/
最近の公式文書:https://docs.nestjs.com/security/authentication
GitHub repo: https://github.com/cyw320712/NESTJS-A-TO-Z
Reference
この問題について(NestJS - 3. JWTによるログイン), 我々は、より多くの情報をここで見つけました
https://velog.io/@cyw320712/NestJS-3.-JWT를-이용한-로그인-구현
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Account ModuleはAuthモジュールを参照する必要があり、AuthもAccountを参照する必要があります.
->ループ参照に注意してください.
循環参照エラーログ
"Nest cannot create the module instance"
auth.module.ts
...
imports: [
...
forwardRef(() => AccountModule),
],
...
このようにforwardRefを使用すると、ループ参照を防止できます.( https://jakekwak.gitbook.io/nestjs/fundamentals/circular-dependency )5.「」を参照してください。
JWTコンテンツ:https://hudi.blog/self-made-jwt/
最近の公式文書:https://docs.nestjs.com/security/authentication
GitHub repo: https://github.com/cyw320712/NESTJS-A-TO-Z
Reference
この問題について(NestJS - 3. JWTによるログイン), 我々は、より多くの情報をここで見つけました
https://velog.io/@cyw320712/NestJS-3.-JWT를-이용한-로그인-구현
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(NestJS - 3. JWTによるログイン), 我々は、より多くの情報をここで見つけました https://velog.io/@cyw320712/NestJS-3.-JWT를-이용한-로그인-구현テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol