メインコンテンツへスキップ
Hooks will reach end of life (EOL) on April 30, 2027.
  • As of October 16, 2023, Hooks are no longer available in newly created tenants.
  • As of November 18, 2024, Hooks are read-only. Active Hooks still run, and you can enable or disable them and change their configuration values and secrets. You can’t edit their code in the Dashboard, the Management API, or tools that use it, such as the Auth0 CLI, Deploy CLI, Terraform, and Agent Skills.
  • After April 30, 2027, Hooks stop running and are removed.
Use Actions to extend Auth0:
クライアント認証情報フロー で発行されるトークンでは、Hooks を追加することで、スコープを変更したりカスタムクレームを追加したりできます。 Hooks を使うと、Node.js コードで Auth0 の動作をカスタマイズできます。Hooks は、Auth0 プラットフォームの特定の拡張ポイント (クライアント認証情報フローなど) に関連付けられた、安全で自己完結型の関数です。Auth0 は実行時に Hooks を呼び出し、カスタムロジックを実行します。 Hooks は、 または で管理できます。
特定の拡張ポイントに対して複数のHooksを作成できますが、各拡張ポイントで一度に有効にできるHooksは 1 つだけです。その拡張ポイントに対してあとから作成したHooksは自動的に無効になるため、明示的に有効にする必要があります。有効になっているHooksは、すべてのアプリケーションと API に対して実行されます。

前提条件

このチュートリアルを始める前に、次の作業を行っておく必要があります。

手順

  1. Hook を作成: トークンをカスタマイズする Hook を作成します。
  2. Hook をテスト: クライアント認証情報フローを実行し、アクセストークンをデコードして新しい Hook をテストします。

Hook を作成する

この例では、次のことを行います。
  • アクセストークンに任意のクレーム (https://foo.com/claim) を追加する
  • 設定済みの API に権限を 1 つ追加する
トークンをカスタマイズするための Hook を作成します。拡張ポイントの選択を求められたら、Client Credentials Exchange を選択し、エディターに次のコードを追加します。
Auth0 は、OpenID Connect (OIDC) 仕様 で定義されている構造化されたクレーム形式でプロファイル情報を返します。つまり、競合が発生する可能性を避けるため、ID トークンまたはアクセストークンに追加するカスタムクレームは、ガイドラインと制限事項に準拠している必要があります。

フック をテストする

作成した フック をテストするには、Client Credentials 交換を実行してを取得し、それをデコードして内容を確認する必要があります。

トークンを取得する

トークンを取得するには、クライアント認証情報フローのエンドポイントに POST リクエストを送信します。CLIENT_ID、CLIENT_SECRET、API_IDENTIFIER のプレースホルダー値は、それぞれご利用のアプリケーションの 、ご利用のアプリケーションの 、および API の Identifier に必ず置き換えてください。Client ID と Client Secret は アプリケーション の設定で、API Identifier は API の設定で確認できます。 成功すると、レスポンスには次のものが含まれます:
  • access_token
  • 有効期限 (秒単位、expires_in)
  • Bearer に設定されたトークンの種類 (token_type)
  • 追加の権限 extra (scope) (これはご利用のHooksによって追加されたものです)

トークンをデコードする

アクセストークンをデコードして内容を確認する最も簡単な方法は、JWT.io Debugger を使用することです。 アクセストークンをコピーしてエディターに貼り付けます。 は自動的にデコードされ、その内容が表示されます。 ペイロード の最後の 2 項目は、どちらもフックによって設定されていることに注目してください。
  • "scope": "extra"
  • "https://foo.com/claim": "bar"

さらに詳しく