有効期間の短いセッション
SDKの機能
PKCE フロー
ディープリンク
loginWithRedirect() メソッド用の appState パラメーターが含まれています。現在のアプリに関する情報は、Auth サーバーへのリクエストの一部として渡され、認証が成功すると返されます。これにより、ユーザーは途中で中断することなく操作を続けられます。
Quickstart では、PrivateRoute コンポーネントが targetUrl という state パラメーターを設定し、index.js の onRedirectCallback 関数がこの値を取り出して、認証完了後にユーザーをリダイレクトします。
トークンの保存
API を呼び出す
getTokenSilently() メソッドは、まずトークンキャッシュを利用し、キャッシュがない場合は非表示の iframe を使って新しいトークンを取得します。そのため、API へのすべてのリクエストでこのメソッドを使って Bearer トークン用のヘッダーを組み立てることができ、期限切れのトークンに対応するための追加ロジックは不要です。
Quickstart では、ExternalService ビューがこの機能を使って express API にリクエストを送信します。
ユーザーにセッションの継続を促す警告を表示する
ワークフローの例
- 初回認証
- Auth0 セッションの維持
- シームレスな SSO
- ユーザーにセッション延長を促す
- ユーザーがアプリケーションから明示的にログアウトする
- ログアウト後にユーザーが元のアプリケーションに戻る
初回認証
- 新しいタブが開く
- ログインが求められる
- ユーザーが資格情報を入力する
- SSO Cookie (有効期限付き) が設定される
- トークン交換が行われる

Auth0 セッションを維持する
- ユーザーが保護されたリソースからデータを取得しようとする
-
getTokenSilently()が呼び出される - リソースが取得される
- ユーザーが保護されたリソースのデータを更新する
-
getTokenSilently()が呼び出される- iframe が開かれる
- トークン交換が行われる
- リソースが更新される

シームレスな SSO
- ユーザーが保護されたルートに移動する
isAuthenticated()で確認する- false の場合、
loginWithRedirect()を実行する

ユーザーにセッション延長を促す
- 240秒時点で、60秒間表示されるモーダルを表示し、セッションを維持するかどうかをユーザーに確認します
- 維持を選択した場合は、
getTokenSilently()を実行します

ユーザーがアプリケーションから明示的にログアウトする
- ユーザーがログアウトを選択する
-
logout()が呼び出される- トークンキャッシュをクリアする
/oidc/logoutを呼び出す- SSO Cookie をクリアし、セッションデータを削除する
- ユーザーをログアウトページにリダイレクトする

ログアウト後にユーザーが元のアプリケーションに戻る
- ユーザーが保護されたリソースにデータをリクエストする
getTokenSilently()が呼び出される- アプリケーションごとに動作が異なる
