- 永続的なカスタムクレームを作成する
- 一意のセッション ID を作成する
- テナント識別子を引き継ぐ
- アップストリーム ID プロバイダー (IdP) からの一時的なデータを管理する
- セキュリティと不正検知を強化する
永続的なカスタムクレームを作成する
- ユーザーロール
- 権限
- テナントID
- リフレッシュトークン交換をまたいで認可やパーソナライズに必要となるその他の属性
api.refreshToken.setMetadata() を使用してそれらをリフレッシュトークンメタデータに割り当てます。
custom claim Action example
post-login Action トリガーでevent.refresh_token.metadataオブジェクトを使ってこれらのカスタムクレームにアクセスし、api.idToken.setCustomClaim()およびapi.accessToken.setCustomClaim()を使って、新たに発行されるリフレッシュトークンに適用できます。
1 つの
post-login Actionで、event.request.body.grant_typeオブジェクトを使ってクレームの保持を管理しながら、異なるgrant_typeのシナリオに対応できます。event.refresh_tokenオブジェクトは、リフレッシュトークンの交換時にのみ読み取り専用で利用できます。一意のセッション ID を作成する
- デバッグや監査のために、ユーザーのセッションを正確に記録する。
- アプリケーションが内部セッションの状態を追跡するための仕組みを提供する。
- API で、きめ細かなログ記録、レート制限、コンテキストに応じた認可の判断を可能にする。
- 複数のトークンライフサイクルにまたがって、一貫した UX を実現する。
api.session.setMetadata() オブジェクトと api.refreshToken.setMetadata() オブジェクトを使用して、ユーザーのセッションに割り当てます。
api.idToken.setCustomClaim() オブジェクトと api.accessToken.setCustomClaim() オブジェクトを使用して、一意のセッション ID をカスタムクレームとして ID トークンとアクセストークンに追加します。
unique session ID Action example
event.refresh_token.metadata オブジェクトを通じてこれらのカスタムクレームにアクセスし、api.idToken.setCustomClaim() および api.accessToken.setCustomClaim() を使用して、新たに発行されるリフレッシュトークンにそれらを適用できます。
テナント識別子を作成する
- 動的なアクセス制御を追加し、アプリケーションや API でテナント固有の権限を簡単に適用する
- ユーザーの現在のテナントコンテキストに応じたコンテンツや機能を提供し、最適なユーザー体験を実現する
- Auth0 内でテナントの識別と伝播を一元化し、マルチテナントロジックを簡素化する
- すべてのトークンで一貫したテナントコンテキストを確保することで、テナント間での意図しないデータ露出を防ぎ、セキュリティを強化する
- API 呼び出しやトークン更新のたびにテナントコンテキストを判定するためのデータベースクエリの繰り返しや複雑なロジックを減らし、スケーラビリティを向上させる
ext-tenantId の値をアプリケーションに問い合わせてユーザーのアクティブなテナントを特定するか、地理的位置情報からテナントを推定するか、またはユーザーに使用するテナントを選択してもらいます。
テナントが特定されたら、api.session.setMetadata() と api.refreshToken.setMetadata() を使用してテナント識別子の値をユーザーのセッションに割り当て、api.idToken.setCustomClaim() と api.accessToken.setCustomClaim() を使用して、その値を ID トークンおよびアクセストークンのカスタムクレームとして追加します。
tenant identifier Action example
post-login Action で event.refresh_token.metadata オブジェクトを使用してこれらのカスタムクレームにアクセスし、api.idToken.setCustomClaim() および api.accessToken.setCustomClaim() を使って、新たに発行されるリフレッシュトークンに適用できます。
アップストリーム ID プロバイダー (IdP) からの一時データを管理する
- 一時データやセッション固有のデータが保存されないようにして、クリーンなユーザープロファイルを維持する
- 永続的なユーザープロファイルにスキーマ変更やデータ肥大化を強いることなく、さまざまなIDプロバイダーの多様なデータ要件に対応し、柔軟性を高める
- 一時データを必要な期間だけ保存することで、データプライバシーおよび保持ポリシーへの準拠を容易にし、コンプライアンスを向上させる
- Auth0 Actions とメタデータがデータのライフサイクルを管理するため、一時的なIDプロバイダーデータの処理を簡素化し、開発負荷を軽減する
event.request、event.user、event.context オブジェクトに含まれるユーザープロファイルデータを識別します。
どのデータが一時データまたはコンテキストデータに当たるかを判断し、api.session.setMetadata() と api.refreshToken.setMetadata() オブジェクトを使用してそれをユーザーのセッションに割り当てます。また、api.idToken.setCustomClaim() と api.accessToken.setCustomClaim() オブジェクトを使用して、その一時データを ID トークンとアクセストークンにカスタムクレームとして追加します。
transient data Action example
post-login Actionトリガーでevent.refresh_token.metadataオブジェクトを通じてこれらのカスタムクレームにアクセスし、api.accessToken.setCustomClaim()オブジェクトを使用して、新たに発行されるリフレッシュトークンにそれらを適用できます.
セキュリティ強化と不正検知
- ユーザーのコンテキストデータにおける不審な変化を自動的に検出して対応することで、脅威を早期に検知し、セッションハイジャックや不正アクセスのリスクを低減できます。
- 正当なユーザーに対する負担を減らし、実際に異常が検出された場合にのみMFAや追加の確認を求めることで、一律にMFAを要求する場合と比べてユーザー体験を向上できます。
api.session.setMetadata()オブジェクトを使用してユーザーのセッションに保存します。
security detection Action example
post-login Action トリガーでリスク評価と適応型の対応を適用できます。
Management API を使用してメタデータにアクセスする
GET /api/v2/refresh-tokens/{id} および /api/v2/sessions/{id} エンドポイントを使用すると、リフレッシュトークンまたはセッションのメタデータに保存されたデータを取得できます。
レスポンスには、保存されたデータを含む metadata フィールドが含まれます。
詳しくはこちら
- リフレッシュトークン: リフレッシュトークンについて説明します。
- セッション: セッションについて説明します。
- Actions Event objects:
post-loginイベントオブジェクトとそのプロパティについて説明します。 - Actions API object:
post-loginAPI オブジェクトとそのメソッドについて説明します。