context オブジェクトには、ユーザーの IP アドレス、アプリケーション、位置情報など、現在の認証トランザクションに関するコンテキスト情報が格納されます。
ルール内で context オブジェクトを使用してトークンの内容を変更した場合、その変更はすべてのルールの実行が完了した後にトークンに反映されます。アプリケーションで やユーザーの同意も必要な場合は、トークンへの変更が反映される前にユーザーにプロンプトが表示されます。
プロパティ
context オブジェクトでは、以下のプロパティを使用できます。
| プロパティ | 説明 |
|---|---|
context.tenant | テナント名を含む文字列。 |
context.clientID | ユーザーがログインするアプリケーションのクライアントID。 |
context.clientName | アプリケーションの名前 (ダッシュボードで定義されたもの) 。 |
context.clientMetadata | その他のアプリケーションプロパティを保持するオブジェクト。キーと値はどちらも文字列です。 |
context.connectionID | 接続の一意の識別子を含む文字列。 |
context.connection | ユーザーの認証に使用された接続の名前 (例: twitter または some-g-suite-domain) |
context.connectionStrategy | 接続の種類。ソーシャル接続では、connectionStrategy === connection です。エンタープライズ接続では、ストラテジーは waad (Windows Azure AD) 、ad (Active Directory/LDAP) 、auth0 (データベース接続) などになります。 |
context.connectionOptions | 接続で定義されたオプションを表すオブジェクトです。connectionOptions.tenant_domain は、Enterprise 接続を使用する際に認証に使われるドメインを含む文字列です。connectionOptions.domain_aliases は、プライマリ ドメイン (connectionOptions.tenant_domain プロパティで指定) に加えて、エイリアスとして登録された追加のドメインを含む配列です。 |
context.connectionMetadata | 接続に定義されているメタデータを表すオブジェクト。キーと値はいずれも文字列です。 |
context.samlConfiguration | SAML および WS-Fed エンドポイントの動作を制御するオブジェクトです。高度なクレーム マッピングやトークン拡張に役立ちます (samlp および wsfed プロトコルでのみ使用可能) 。 |
context.protocol | 認証プロトコル。指定可能な値:
|
context.riskAssessment | 高リスクのログイン試行を評価する項目ごとのスコア (low、medium、high、neutral) を含むオブジェクト。Rules を使用した Adaptive MFA のカスタマイズを参照してください。 |
context.stats | stats.loginsCount など、特定のユーザー統計情報を含むオブジェクトです。stats オブジェクトの一部として返されるカウンター変数は、サイレント認証 中 (prompt=none の場合など) はいずれも増加しない点に注意してください。また、カウンター変数は増加しても、Rule または一連の Rules が実行されない場合もあります。たとえば、クロスオリジン認証が成功した後にトークンリクエストが失敗したケースです。 |
context.sso | このオブジェクトには、シングルサインオン (SSO) のトランザクションに関する情報が含まれます (利用可能な場合) 。
|
context.accessToken | アクセストークン に定義されたオプションを表すオブジェクトです。このオブジェクトを使用すると、アクセストークン にカスタムの名前空間付きクレームを追加できます。context.accessToken.scope を使用して、アクセストークンで返されるスコープを変更できます。指定する場合は、文字列形式の権限を含む配列です。カスタムクレームは、すべての Rules の実行後にアクセストークンに含まれます。 |
context.idToken | IDトークン で定義されているオプションを表すオブジェクトです。名前空間付きのカスタムクレームを IDトークンに追加するために使用します。カスタムクレームは、すべての Rules の実行後に IDトークンに含まれます。 |
context.multifactor | コンテキストに応じたMFAの実装で使用されるMFA設定を表すオブジェクト。 |
context.redirect | ルールでユーザーのリダイレクトを実装するために使用されるオブジェクト。 |
context.sessionID | 認証セッションの内部識別子です。この値が保持されるのは、認可リクエストで prompt=none が使用されている場合のみです。他のフローでは、ルールの実行後にセッション ID が変更される場合があるため、context.sessionID で参照できる値は、ユーザーが受け取る新しいセッション ID と一致しないことがあります。そのため、この値が意味を持つのは prompt=none が使用される場合に限られます。 |
context.request | リクエストに関する有用な情報を含むオブジェクトです。これには undefined が設定される場合もあります。次のプロパティがあります:
|
context.primaryUser | ユーザーのプライマリアカウントに対応する一意のユーザー id。さまざまなIDプロバイダーのユーザーアカウントをリンクするために使用されます。 |
context.authentication | 認証トランザクションに関連する情報を含むオブジェクトです。次のプロパティがあります。methods: セッション中にユーザーが完了した認証方法を含むオブジェクトの配列です。たとえば、パスワードベースの認証を完了した後に MFA を完了したユーザーでは、次のような methods になる場合があります。json lines [ { "name": "pwd", "timestamp": 1434454643024 }, { "name": "mfa", "timestamp": 1534454643881 } ] 各 method オブジェクトには、次のプロパティが含まれます。
context.authentication.methods プロパティの使用例は、Require MFA once per session Rule を参照してください。 |
context.authorization | 認可トランザクションに関連する情報を含むオブジェクトで、次のプロパティがあります:
|
context.organization | 組織に関連する情報を含むオブジェクトです。次のプロパティが含まれます:
|