セッションメタデータを設定するには、Auth0 の Post-Login Action と Management API を使用できます。また、OpenID Connect バックチャネルログアウト のトークンに含めることもできます。
Auth0 Management API
Management API を使用すると、セッションメタデータに対する CRUD (作成、置換、更新、削除) リクエストを管理できます。
/api/v2/sessions/{id} エンドポイントに GET リクエストを送信します。
/api/v2/sessions/{id} エンドポイントに PATCH リクエストを送信します:
/api/v2/sessions/{id} エンドポイントに PATCH リクエストを送信します。
post-login Action では、api.session オブジェクトを使用してセッションメタデータの CRUD 操作を行えます。これにより、ユーザーごと、またはコンテキスト固有のロジックに基づいてセッションメタデータを管理できます。
deviceName メタデータを読み取るには、event.session.metadata?.deviceName を使用します。
event.session.metadata オブジェクトには、次で設定されたメタデータが含まれます。
*同じフロー内の前の Actions
*セッションが再利用された場合は、以前のトランザクション
セッションメタデータを更新するには、api.session.setMetadata() メソッドを使用します。
変更内容は、以降のActionsの event.session オブジェクトですぐに利用できます。
セッションメタデータを削除するには、次の api.session オブジェクトを使用します。
api.session.deleteMetadata("key") は、指定したセッションメタデータを削除します
api.session.evictMetadata() は、すべてのセッションメタデータを削除します
これらのオブジェクトの詳細については、以下を参照してください。
イベントオブジェクト : リフレッシュトークンのイベントオブジェクトとそのプロパティについて説明します。
API object : リフレッシュトークンの API object とそのメソッドについて説明します。
Auth0 Auth0 Dashboard または Management API を使用して、logout_token にセッションメタデータを含めるよう設定できます。
セッションメタデータを含む OIDC Back-Channel Logout トークンを設定するには、次の手順に従います。
Auth0 Dashboard > アプリケーション に移動し、対象のアプリケーションを選択します。
設定 タブを選択します。
OpenID Connect Back-Channel Logout > Back-Channel Logout URL で、logout_tokens を受信するアプリケーションのログアウト URI を追加します。
Back-Channel Logout Initiators を次のいずれかに設定します。
Selected initiators only または
All supported initiators
Include Session Metadata をオンにします。
変更を保存 を選択します。
設定が完了すると、logout_token には保存されているすべてのセッションメタデータが含まれます。
/api/v2/clients/{id} エンドポイントを使用すると、logout_token にセッションメタデータを含めるようアプリケーションを更新できます。
/api/v2/sessions/{id} エンドポイントに PATCH リクエストを送信します:
Auth0 Dashboard > Monitoring > Logs に移動してセッションメタデータのログイベントを確認するか、Management API logs エンドポイントを使用してログを取得できます。
Actions を使用したセッションメタデータの追加または更新中にエラーが発生した場合、認証トランザクションは失敗し、エラーがコールバックURLに返されます。
失敗を示す f イベントコードが、対応するエラーとともにログに記録されます:
Auth0 Management API を使用したセッションメタデータの管理でエラーが発生した場合、API は対応するメッセージとともに HTTP status: 400 エラーを返します。