Personnaliser les jetons à l’aide de Hooks dans le Client Credentials Flow
Découvrez comment utiliser Hooks pour modifier les scopes et ajouter des claims personnalisés au jeton d’accès obtenu à l’aide du Client Credentials Flow.
La date de fin de vie (EOL) de Rules et Hooks est fixée au 18 novembre 2026, et ils ne sont plus offerts aux nouveaux tenants créés à compter du 16 octobre 2023. Les tenants existants ayant des Hooks actifs conserveront l’accès au produit Hooks jusqu’à la fin de vie.Nous vous recommandons fortement d’utiliser Actions pour étendre Auth0. Avec Actions, vous avez accès à des informations de typage détaillées, à de la documentation intégrée et à des packages npm publics, et vous pouvez connecter des intégrations externes qui améliorent votre expérience globale en matière d’extensibilité. Pour en savoir plus sur ce qu’offre Actions, consultez Comprendre le fonctionnement d’Auth0 Actions.Pour vous aider dans votre migration, nous vous proposons des guides pour passer de Rules à Actions et passer de Hooks à Actions. Nous avons également une page dédiée, Move to Actions, qui présente des comparaisons de fonctionnalités, une démo d’Actions et d’autres ressources pour vous accompagner dans votre migration.Pour en savoir plus sur la dépréciation de Rules et Hooks, consultez notre billet de blogue : Preparing for Rules and Hooks End of Life.
Comme nous prévoyons retirer les fonctions Rules et Hooks en 2026, vous ne devriez créer de nouvelles Rules ou de nouveaux Hooks que dans votre environnement de développement, et uniquement pour tester la migration vers Actions.Pour savoir comment migrer vos Rules vers Actions, consultez Passer de Rules à Actions. Pour savoir comment migrer vos Hooks vers Actions, consultez Passer de Hooks à Actions.
Vous pouvez modifier les scopes et ajouter des claims personnalisés dans les jetons émis au moyen du Client Credentials Flow en ajoutant des Hooks.Les Hooks vous permettent de personnaliser le comportement d’Auth0 à l’aide de code Node.js. Ce sont des fonctions sécurisées et autonomes associées à des points d’extensibilité précis de la plateforme Auth0 (comme le Client Credentials Flow). Auth0 invoque les Hooks à l’exécution pour appliquer votre logique personnalisée.Vous pouvez gérer les Hooks à l’aide du ou de la .
Bien que vous puissiez créer plusieurs hooks pour un point d’extensibilité donné, chaque point d’extensibilité ne peut avoir qu’un seul hook activé à la fois. Tous les hooks subséquents que vous créez pour ce point d’extensibilité sont automatiquement désactivés; vous devez donc les activer explicitement. Le hook activé sera exécuté pour toutes les applications et API.
ajouter une revendication arbitraire (https://foo.com/claim) au jeton d’accès
ajouter une permission supplémentaire à l’API que vous avez configurée
Créez un Hook pour personnaliser votre jeton. Lorsqu’on vous demandera de choisir un point d’extensibilité, sélectionnez Client Credentials Exchange, puis ajoutez le code suivant dans l’éditeur :
Pour obtenir un jeton, effectuez une requête POST vers le point de terminaison du Client Credentials Flow. Assurez-vous de remplacer les valeurs de remplacement CLIENT_ID, CLIENT_SECRET et API_IDENTIFIER par le de votre application, le de votre application et l’identifiant de votre API, respectivement. Vous trouverez le Client ID et le Client Secret dans les paramètres de votre Application, et l’identifiant de l’API dans les paramètres de votre API.Une réponse réussie comprendra :
un access_token,
sa durée de validité en secondes (expires_in),
le type de jeton défini comme Bearer (token_type), et
une permission extra (scope) (ajoutée par votre Hook)
La façon la plus simple de décoder le jeton d’accès et d’en examiner le contenu est d’utiliser le débogueur JWT.io.Copiez votre jeton d’accès et collez-le dans l’éditeur. Le est décodé automatiquement et son contenu s’affiche.Notez que les deux derniers éléments du Payload ont été définis par votre hook :