RulesとHooksのサポート終了(EOL)日は2026年11月18日であり、2023年10月16日の時点で作成された新しいテナントは使用できなくなります。Hooksが有効な既存のテナントは、サポート終了までHooksを利用できます。今後はActionsに移行して、Auth0の機能を拡張することを強くお勧めします。Actionsを使用すると、豊富な情報やインラインドキュメント、パブリック
npm
パッケージにアクセスして、外部統合を使って全体的な拡張エクスペリエンスを強化することができます。Actionsの詳細については、「Auth0 Actionsの仕組みを理解する」をお読みください。当社では、移行の参考資料として、RulesからActionsへの移行とHooksからActionsへの移行に関するガイドを提供しています。また、専用の「Actionsへの移行」ページでは、機能の比較やActionsのデモ、その他のリソースを掲載して、円滑な移行をサポートしています。RulesとHooksの廃止の詳細については、当社のブログ記事「RulesとHooksの提供終了について」をお読みください。RulesとHooksの機能は2026年にサポートの終了を予定しているため、新しいルールやフックは、アクションへの移行をテストするためだけに、開発環境内で作成してください。RulesからActionsへの移行方法については、「RulesからActionsに移行する」をお読みください。HooksからActionsへの移行方法については、「HooksからActionsに移行する」をお読みください。
どの拡張ポイントにも複数のフックを作成できますが、1つの拡張ポイントで同時に有効にできるフックは1つに限られています。同じ拡張ポイントに対してその後作成するフックは、自動的に無効になるため、明示的に有効にしなければなりません。有効なフックは、すべてのアプリケーションとAPIに対して実行されます。
前提条件
このチュートリアルを始める前に:- APIをAuth0に登録する
-
Auth0にM2Mアプリケーションを登録する
- **[Application Type(アプリケーションの種類)]に[Machine to Machine Applications(マシンツーマシンアプリケーション)]**を選択します。
- 以前に登録したAPIを選択します。
- M2MアプリケーションがAPIを呼び出せるように認可します。
ステップ
- フックを作成する:トークンをカスタマイズするフックを作成します。
- フックをテストする:クライアントの資格情報フローを実行し、アクセストークンをデコードすることで、新しいフックをテストします。
フックを作成する
この例では以下を行います。- 任意のクレーム(
https://foo.com/claim
)をアクセストークンに追加する - 追加の権限を構成済みAPIに追加する
[Client Credentials Exchange(クライアントの認証情報の交換)]
を選択し、エディターに以下のコードを追加します。
Auth0は、プロファイル情報をOpenID Connect(OIDC)仕様で定義されている構造化クレーム形式で返します。つまり、IDトークンまたはアクセストークンに追加するカスタムクレームは、衝突を避けるためにガイドラインと制限に従わなければなりません。
フックをテストする
作成したフックをテストするには、クライアントの資格情報の交換を実行し、アクセストークンを取得してデコードし、その内容を確認する必要があります。トークンを取得する
トークンを取得するには、POST
呼び出しをクライアントの資格情報フローエンドポイントに対して行います。CLIENT_ID、CLIENT_SECRET、API_IDENTIFIERの各プレースホルダーの値をアプリケーションのクライアントID、アプリケーションのクライアントシークレット、APIの識別子にそれぞれ、必ず置き換えてください。クライアントIDとクライアントシークレットはアプリケーション設定、API識別子はAPI設定でそれぞれ確認できます。
access_token
- 有効期限(秒)(
expires_in
) Bearer
として設定されたトークンのタイプ(token_type
)extra
権限(scope
)(フックによって追加されたもの)
トークンをデコードする
アクセストークンをデコードし、その内容を確認するための最も簡単な方法は、JWT.ioデバッガーを使用する方法です。 アクセストークンをコピーし、エディターに貼り付けます。は自動的にデコードされ、その内容が表示されます。 ペイロードの最後の2項目は共に、フックによって設定されています。"scope": "extra"
"https://foo.com/claim": "bar"