Optionally, you can add secrets (such as Twilio Keys or database connection strings) to hooks.
Use the Dashboard
- Go to Auth0 Dashboard > Auth Pipeline > Hooks, and click +Create.
- Enter a descriptive name for your hook, select the extensibility point for which the hook should execute, and click Create.
- Locate the section for the extensibility point you selected, and click the pencil icon next to the hook you created.
- Update the hook using the Hook Editor, and click the disk icon to save.
Use the Management API
Make aPOST call to the Create a Hook endpoint. Be sure to replace MGMT_API_ACCESS_TOKEN, HOOK_NAME, HOOK_SCRIPT, and EXTENSIBILITY_POINT_NAME placeholder values with your Management API , Hook name, Hook script, and extensibility point name, respectively.
| Value | Description |
|---|---|
MGMT_API_ACCESS_TOKEN | Access Token for the Management API with the create:hooks. To learn more, read Management API Access Tokens. |
HOOK_NAME | Name of the Hook to create. |
HOOK_SCRIPT | Script that contains the code for the Hook. Should match what you would enter if you were creating a new Hook using the Dashboard. |
EXTENSIBILITY_POINT_NAME | Name of the extensibility point for which the Hook should execute. Options include: credentials-exchange, pre-user-registration, post-user-registration, post-change-password. To learn more about extensibility points, read Extensibiity Points. |
Handle rate limits when calling APIs from within Hooks
If you call Auth0 APIs from within a Hook’s script, you will need to handle rate limits. To do so, check the
X-RateLimit-Remaining header and act appropriately when the number returned nears 0.Additionally, add logic to handle cases in which you exceed the provided rate limits and receive the 429 HTTP Status Code (Too Many Requests). In this case, if a re-try is needed, it is best to allow for a back-off to avoid going into an infinite retry loop.