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に対して実行されます。
必要に応じて、フックにシークレット(Twilioキーやデータベース接続文字列など)を追加できます。
Dashboardの使用
- [Auth0 Dashboard]>[Auth Pipeline(Authパイプライン)]>[Hooks(フック)]に移動して、 [+Create(作成)] をクリックします。
- 何のフックか分かる名前を入力して、フックが実行される拡張ポイントを選択してから [Create(作成)] をクリックします。
- 選択した拡張ポイントのセクションを見つけて、作成したフックの隣にある鉛筆アイコンをクリックします。
- Hook Editorを使用してフックを更新し、ディスクのアイコンをクリックして保存します。
Management APIの使用
フック作成エンドポイントにPOST
呼び出しを行います。MGMT_API_ACCESS_TOKEN
、HOOK_NAME
、HOOK_SCRIPT
、EXTENSIBILITY_POINT_NAME
のプレースホルダーをそれぞれ実際のManagement APIのアクセストークン、フック名、フックスクリプト、および拡張ポイント名に置き換えます。
値 | 説明 |
---|---|
MGMT_API_ACCESS_TOKEN | create:hooks のあるManagement APIのアクセストークンです。詳細については、「Management APIのアクセストークン」をお読みください。 |
HOOK_NAME | 作成するフックの名前です。 |
HOOK_SCRIPT | フックのコードを含むスクリプトです。Dashboardで新しいフックを作成する場合には、同じ名前にする必要があります。 |
EXTENSIBILITY_POINT_NAME | フックを実行する拡張ポイントの名前です。オプションは次のとおりです。credentials-exchange 、pre-user-registration 、post-user-registration 、post-change-password 。拡張ポイントの詳細については、「拡張ポイント」を参照してください。 |
フック内からAPIを呼び出すときのレート制限に対処する
フックのスクリプト内からAuth0 APIを呼び出す場合、レート制限に対処する必要があります。
X-RateLimit-Remaining
ヘッダーを確認して、返された値が0に近い場合は適切に対応してください。また、指定しているレート制限の超過に対処し、HTTPステータスコードの429
「Too Many Requests
(要求が多過ぎます)」を受け取るロジックを追加します。この際に再試行が必要な場合は、無限の再試行ループを避けるために、バックオフを許可することが得策です。