認証フローは、ユーザーの身元を確認し、アプリケーションの特定の部分へのアクセスを管理するプロセスです。 Web アプリ (ソーシャル メディア サイトなど) を操作する場合、ユーザーが本人であるかどうかを確認し (ログイン)、特定の機能へのアクセスを許可する必要があります。
React では、ユーザー認証を処理する場合、通常、面倒な作業を処理するバックエンド サーバーと対話します。通常の動作は次のとおりです:
ログインに成功すると、サーバーは 2 つの重要なトークンを送り返します:
アクセストークン:
リフレッシュトークン:
ユーザーがログインしてこれらのトークンを受け取ったら、アプリはそれらをユーザーのデバイス上のどこかに保存する必要があります。ここで localStorage が登場します:
ユーザーがサーバーとの対話を必要とする操作 (ステータスの投稿やメッセージの表示など) を行うたびに、アプリは Authorization ヘッダー にアクセス トークンが添付されたリクエストをサーバーに送信します。これにより、ユーザーがログインしていてアクションの実行が許可されていることをサーバーに伝えます。
アクセス トークンの有効期限: サーバーが 401 エラーで応答した場合、アクセス トークンの有効期限が切れたことを意味します。その後、アプリはリフレッシュ トークンを使用して新しいアクセス トークンをリクエストします。
リフレッシュ トークンの有効期限: リフレッシュ トークンの有効期限も切れている場合 (長時間経過すると発生する可能性があります)、サーバーは再び 401 エラーで応答します。この時点で、アプリはユーザーをログイン ページにリダイレクトし、新しいトークンを取得するために再度ログインするように求めます。
アプリがリフレッシュ トークンを使用して新しいアクセス トークンを取得すると、トークンの有効期限が切れたために失敗した元のリクエストが再送信されます。こうすることで、ユーザーは中断を経験することはありません。
このフローにより、ユーザーは常に認証情報を再入力することなく、ログイン状態を維持してアプリを安全に使用できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3