ルールおよびフックの提供終了 (EOL) 日は2026年11月18日です。なお、2023年10月16日以降に作成された新規テナントでは、これらはすでに利用できません。アクティブなフックを使用している既存のテナントでは、提供終了日までフックを引き続き利用できます。Auth0 を拡張するには、Actions の使用を強くお勧めします。Actions では、豊富な型情報、インラインドキュメント、公開
npm パッケージを利用できるほか、外部連携に接続して、より充実した拡張機能を実現できます。Actions でできることの詳細については、Auth0 Actions の仕組みを理解するをご覧ください。移行を支援するために、ルールからActionsへの移行およびフックからActionsへの移行に関するガイドを用意しています。また、機能比較、Actions のデモ、移行に役立つその他のリソースを紹介する専用のActions へ移行ページもあります。ルールとフックの非推奨化について詳しくは、ブログ記事「ルールとフックの提供終了に向けた準備」をご覧ください。context オブジェクトには、ユーザーのIPアドレス、アプリケーション、位置情報など、現在の認証トランザクションに関するコンテキスト情報が格納されます。
ルール内で context オブジェクトを使用してトークンの内容を変更した場合、その変更はすべてのルールの実行が完了した後にトークンで利用できるようになります。アプリケーションで やユーザーの同意も必要な場合は、トークンの変更が利用可能になる前に、ユーザーに確認が求められます。
プロパティ
context オブジェクトでは、以下のプロパティを利用できます。
| プロパティ | 説明 |
|---|---|
context.tenant | tenant の名前を表す文字列。 |
context.clientID | ユーザーがログインするアプリケーションの Client ID。 |
context.clientName | アプリケーション名 (dashboard で定義されたもの) 。 |
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) を含むオブジェクト。ルールを使用して Adaptive MFA をカスタマイズするを参照してください。 |
context.stats | stats.loginsCount のような、特定のユーザー統計情報を含むオブジェクトです。stats オブジェクトの一部として返されるカウンター変数は、サイレント認証 中 (prompt=none の場合など) には増加しないことに注意してください。また、カウンター変数は増加していても、ルールまたは一連のルールが実行されない場合もあります。たとえば、クロスオリジン認証が成功した後にトークンリクエストが失敗するケースです。 |
context.sso | このオブジェクトには、Single Sign-on (SSO) のトランザクションに関する情報 (利用可能な場合) が含まれます
|
context.accessToken | Access Toke で定義されるオプションを表すオブジェクトです。このオブジェクトを使用して、Access Toke にカスタムの名前空間付きクレームを追加できます。context.accessToken.scope を使用すると、Access Token の返却スコープを変更することができます。指定する場合、これは文字列形式の権限を含む配列になります。カスタムクレームは、すべてのルールの実行後に Access Token に含まれます。 |
context.idToken | ID トークンで定義されたオプションを表すオブジェクトです。ID トークンにカスタムの名前空間付きクレームを追加するために使用されます。カスタムクレームは、すべてのルールが実行された後に ID トークンに含まれます。 |
context.multifactor | コンテキストベースのMFAの実装で使用される多要素認証の設定を表すオブジェクト。 |
context.redirect | ルールからユーザーをリダイレクトする処理を実装するために使用するオブジェクトです。 |
context.sessionID | 認証セッションの内部識別子です。この値が保持されるのは、認可リクエストで prompt=none が使用されている場合に限られます。他のフローでは、ルールの実行後にセッション ID が変更されることがあるため、context.sessionID で参照できる値が、ユーザーに発行される新しいセッション ID と一致しない可能性があります。そのため、この値が意味を持つのは prompt=none が使用されている場合だけです。 |
context.request | リクエストに関する有用な情報を含むオブジェクトです。これは undefined に設定される場合もあります。次のプロパティがあります:
|
context.primaryUser | ユーザーのプライマリアカウントに対応する一意のユーザーIDです。さまざまなアイデンティティプロバイダーのユーザーアカウントをリンクするために使用されます。 |
context.authentication | 認証トランザクションに関連する情報を含むオブジェクトで、次のプロパティがあります:methods: ユーザーがセッション中に完了した認証方法を含むオブジェクトの配列です。たとえば、パスワードベースの認証を完了した後に MFA を完了したユーザーでは、次のような methods になる場合があります:json lines [ { "name": "pwd", "timestamp": 1434454643024 }, { "name": "mfa", "timestamp": 1534454643881 } ] 各メソッドオブジェクトには次のプロパティが含まれます:
context.authentication.methods プロパティの使用例は、Require MFA once per session Ruleで確認できます。 |
context.authorization | 認可トランザクションに関する情報を含むオブジェクトで、次のプロパティがあります:
|
context.organization | organization に関連する情報を含むオブジェクトです。次のプロパティが含まれます:
|