ノード.JTの認証&認証の例
6142 ワード
このチュートリアルでは、完全なスタックノードのビルド方法を学びます.JSエクスプレス+角度11認証の例.バックエンドサーバはノードを使用します.JWT認証と認証のためのJSONWebTokenでJS Expressは、MySQLデータベースとの相互作用のためにシーケンス化します.フロントエンドは、角度11、httpInterceptorとルータで作成されます.UIでフォームの検証も行います.
JSONウェブトークン
セッションをクッキーに保存する必要があるセッションベースの認証と比較して、トークンベースの認証の大きな利点は、JSON Webトークン(JWT)をクライアント側に格納することです.したがって、我々はネイティブのアプリをサポートする別のバックエンドプロジェクトまたはネイティブのアプリケーションユーザーのための追加認証モジュールを構築する必要はありません.
JWT :ヘッダー、ペイロード、署名の3つの重要な部分があります.一緒に標準構造に結合されます.
クライアントは典型的にX - Access - TokenヘッダーにJWTを添付します.
In-depth Introduction to JWT-JSON Web Token
ノード.JSエクスプレス角度11認証例
これは、完全なスタック、ノードとなります.JSはフロントエンド用のバックエンドとアングル11を表します.アクセスはJWT認証で検証されます. ユーザーは、新しいアカウント、ユーザー名とパスワードでログインをサインアップすることができます. ユーザの役割による権限( admin ,モデレーター,ユーザ)
スクリーンショット
下の画像は、我々の角度11クライアントアプリのスクリーンショットを示しています.
誰でも、ログインする前にパブリックページにアクセスできます.
-新しいユーザがサインアップできます.
-登録フォームの妥当性検査:
-ログインして合法的なアカウント:
プロファイルページ:
-管理用ロールのUI
-管理者ロールを持たないユーザが管理者/モデレータボードページにアクセスしようとする場合:
デモ
これは完全な角度+ノードです.JS ExpressのJWT認証&承認アプリケーションデモ(フォームの検証を使用して、署名のユーザー名/電子メールの重複、テストの承認を3つの役割:管理者、モデレーター、ユーザー)をチェックします.
ビデオでは、角度10を使用しますが、ロジックとUIはこのアングルバージョン11と同じです.
ユーザ登録フローとユーザログイン
図は、ユーザー登録の流れ、ユーザーログインと認可プロセスを示します.
認証のための2つのエンドポイントがあります.
クライアントが保護された資源にアクセスするなら、合法的なJWTはHTTP X - ACCESS - Tokenヘッダーに加えられなければなりません.
ノードでバックエンド.JSエクスプレス
ノード.JS Expressアプリケーションを以下の図にまとめます.
ルート経由で、ルートに一致するHTTPリクエストは、セキュリティ層に来る前にCorsミドルウェアによってチェックされます.
セキュリティ層には JWT認証ミドルウェア データベースによるユーザの役割チェック これらのミドルウェアがどんなエラーでもスローするなら、メッセージはHTTP応答として送られます.
コントローラは、シーケンサを介してMySQLデータベースと対話し、HTTP応答(トークン、ユーザー情報、データに基づいてデータを送信する)クライアントに.
角11、HttpIntereptorとルータでフロントエンド
詳細はこちらをご覧ください.
https://bezkoder.com/node-js-angular-11-jwt-authentication/
更なる読書 Node.js + MongoDB: JWT Authentication & Authorization Node.js + PostgreSQL: JWT Authentication & Authorization フルスタックのCRUDアプリ: Angular + Node.js Express + MySQL example Angular + Node.js Express + PostgreSQL example Angular + Node.js Express + MongoDB example
JSONウェブトークン
セッションをクッキーに保存する必要があるセッションベースの認証と比較して、トークンベースの認証の大きな利点は、JSON Webトークン(JWT)をクライアント側に格納することです.したがって、我々はネイティブのアプリをサポートする別のバックエンドプロジェクトまたはネイティブのアプリケーションユーザーのための追加認証モジュールを構築する必要はありません.
JWT :ヘッダー、ペイロード、署名の3つの重要な部分があります.一緒に標準構造に結合されます.
header.payload.signature
.クライアントは典型的にX - Access - TokenヘッダーにJWTを添付します.
x-access-token: [header].[payload].[signature]
詳細については、In-depth Introduction to JWT-JSON Web Token
ノード.JSエクスプレス角度11認証例
これは、完全なスタック、ノードとなります.JSはフロントエンド用のバックエンドとアングル11を表します.アクセスはJWT認証で検証されます.
スクリーンショット
下の画像は、我々の角度11クライアントアプリのスクリーンショットを示しています.
誰でも、ログインする前にパブリックページにアクセスできます.
-新しいユーザがサインアップできます.
-登録フォームの妥当性検査:
-ログインして合法的なアカウント:
プロファイルページ:
-管理用ロールのUI
-管理者ロールを持たないユーザが管理者/モデレータボードページにアクセスしようとする場合:
デモ
これは完全な角度+ノードです.JS ExpressのJWT認証&承認アプリケーションデモ(フォームの検証を使用して、署名のユーザー名/電子メールの重複、テストの承認を3つの役割:管理者、モデレーター、ユーザー)をチェックします.
ビデオでは、角度10を使用しますが、ロジックとUIはこのアングルバージョン11と同じです.
ユーザ登録フローとユーザログイン
図は、ユーザー登録の流れ、ユーザーログインと認可プロセスを示します.
認証のための2つのエンドポイントがあります.
api/auth/signup
ユーザ登録api/auth/signin
ユーザーログイン用クライアントが保護された資源にアクセスするなら、合法的なJWTはHTTP X - ACCESS - Tokenヘッダーに加えられなければなりません.
ノードでバックエンド.JSエクスプレス
ノード.JS Expressアプリケーションを以下の図にまとめます.
ルート経由で、ルートに一致するHTTPリクエストは、セキュリティ層に来る前にCorsミドルウェアによってチェックされます.
セキュリティ層には
コントローラは、シーケンサを介してMySQLデータベースと対話し、HTTP応答(トークン、ユーザー情報、データに基づいてデータを送信する)クライアントに.
角11、HttpIntereptorとルータでフロントエンド
詳細はこちらをご覧ください.
https://bezkoder.com/node-js-angular-11-jwt-authentication/
更なる読書
Reference
この問題について(ノード.JTの認証&認証の例), 我々は、より多くの情報をここで見つけました https://dev.to/bezkoder/node-js-angular-11-jwt-authentication-authorization-example-4addテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol