開始前に
以下を確認してください。
- アプリケーション用に カスタムドメイン が設定された Auth0 テナント
- インストールおよび認証が完了している Auth0 CLI
- post-login Action
- 非永続 なセッションポリシーを使用する Auth0 テナントセッション
- (任意) セッションのアイドルタイムアウト値と絶対セッションタイムアウト値の設定

- サインインしたままにする チェックボックスを選択すると、ブラウザーを再起動しても維持される永続的なセッションが設定されます。
- サインインしたままにする チェックボックスを選択しない場合は、ブラウザーを閉じると失効する非永続なセッションが設定されます。
- ゼロトラストのブラウザーセッション処理
- セッションの永続化を最小限に抑えること
- 信頼済みデバイスでの上書き制御
- Universal Login ページを設定し、カスタムプロンプトを追加する
ユーザーのサインインしたままにする設定を取得するには、ページテンプレートを設定し、Auth0 CLI を使ってカスタムプロンプトを追加して、Universal Login をカスタマイズする必要があります。
任意: Universal Login のページテンプレートを有効化する
この手順は、テナントで Universal Login テンプレートが設定されていない場合にのみ必要です。
- Auth0 CLI を使用して「サインインしたままにする」チェックボックスを追加する
Universal Login の画面にチェックボックスを追加するには、次の手順に従います。
カスタマイズエディターを開く
- テナントの設定に応じて、login-id またはログインプロンプトのカスタマイズエディターを開きます。
- レンダリングモードでstandardを選択します
ご利用のテナントで
login と login-id のどちらが使われているかわからない場合は、Auth0のプロンプトのカスタマイズを参照してください。チェックボックスを設定する
カスタマイズエディターで Partials オプションを開きます。-
Prompt を
login-id(またはlogin) に設定します -
Screen を
login-id(またはlogin) に設定します -
Partial を
form-content-endに設定します

変更をデプロイする
右上にあるDeploy Changesを選択して、カスタマイズ内容を保存し、適用します。チェックポイント
Universal Login でログインします。 ログイン画面には、ログインしたままにするのチェックボックスがあります。
- Auth0 CLI を使用して Post-Login Action を作成する
Auth0 CLI で使用する set-session-persistence.js という新しいファイルを作成し、以下のコードを追加します。
set-session-persistence.jsファイルを使用して、Auth0 CLIでpost-login Actionを作成または更新します。
id を使って Action をデプロイします:

信頼済みデバイスのセッション期間を設定する
setCookieMode() で制御できるのは、セッション Cookie をブラウザーにどのように渡すかだけです。永続 Cookie はブラウザーを再起動しても保持されますが、非永続 (セッション) Cookie はブラウザーを閉じると削除されます。これはバックエンド セッションの有効期限を変更するものではありません。信頼済みデバイスのセッションの有効期間を長くしたい場合は、api.session.setExpiresAt() または api.session.setIdleExpiresAt() を使って、有効期限を明示的に設定する必要があります。setCookieMode() とあわせて api.session.setExpiresAt() または api.session.setIdleExpiresAt() を使用します。
- 実装をテストする
セッションの動作を確認するには、次の操作を行います。
Universal Login でログインし、サインインしたままにするチェックボックスをオンにします。
-
テナントログで、 (イベントタイプ
sまたはssa) を検索します-
cookie: { mode: "non-persistent" } -
cookie: { mode: "persistent" }
-
-
Actions で
event.session.cookie.modeを検索します