必要に応じて、フックにシークレット(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(要求が多過ぎます)」を受け取るロジックを追加します。この際に再試行が必要な場合は、無限の再試行ループを避けるために、バックオフを許可することが得策です。