Jetons de délégation
Vous devez obtenir un jeton de délégation et l’utiliser lorsqu’une application doit appeler l’API d’un module complémentaire d’une application, telle que Firebase ou SAP, enregistrée et configurée dans Auth0, dans le même locataire que le programme appelant.
En présence d’un jeton existant, ce point de terminaison génère un nouveau jeton signé avec le secret de l’application target
. Ce jeton est utilisé pour transmettre l’identité de l’utilisateur de l’application à une API.
Le type de jeton de délégation varie en fonction du fournisseur. Par exemple, s’il est émis pour Azure Blob Storage, il s’agira d’un SAS (Shared Access Signature). S’il s’agit du module complémentaires Firebase, il s’agira d’un jeton Web JSON.
Le jeton d’ID d’un utilisateur authentifié peut être utilisé avec le point de terminaison /delegation
pour demander un jeton de délégation pour une cible particulière. La cible peut être un module complémentaire d’une application configurée dans Auth0. Les modules complémentaires pour lesquels cela est possible sont ceux qui ne sont pas des modules complémentaires SAML ou WS-Fed. Le module complémentaires doit être configuré dans Auth0 avec des secrets obtenus auprès du service de module complémentaire, tel que Firebase. Les instructions relatives à la configuration des secrets sont accessibles sur la page de configuration de chaque module complémentaires. Les secrets sont utilisés pour signer le jeton de délégation afin que l’API du module complémentaires puisse valider le jeton et lui faire confiance.
Le point de terminaison de délégation vous permet de définir plusieurs paramètres qui régissent le contenu du jeton de délégation, notamment target
, scope
, l’API à appeler (api_type
), ainsi qu’une zone de forme libre supplémentaire pour les paramètres additionnels.
Exemple Auth0.js
Pour un exemple sur la façon d’obtenir un nouveau jeton pour un module complémentaires que vous avez activé, en utilisant Auth0.js, reportez-vous à Demande de jeton de délégation. Notez que cet exemple concerne la version 7 de la bibliothèque Auth0.js; la délégation n’est pas prise en charge dans la version 8 de Auth0.js.
Période de validité et résiliation
La période de validité et la possibilité de révoquer un jeton de délégation varient d’un module complémentaires à l’autre. Il convient de consulter la documentation proposée par le fournisseur de l’API d’un module complémentaire pour obtenir de plus amples informations.
Utiliser les jetons de délégation avec des applications publiques
Une mise en garde importante s’impose lors de l’utilisation du point de terminaison de délégation avec des applications publiques.
Si vous appelez le point de terminaison /token
à partir d’une application publique, le jeton d’ID sera signé de force en utilisant RS256
, même si l’algorithme de signature JsonWebToken dans les paramètres de l’application est configuré comme étant HS256
.
Si vous appelez ensuite le point de terminaison de délégation avec ce jeton d’ID, l’appel échouera si l’algorithme de signature JsonWebToken de l’application a été configuré comme étant HS256
. En effet, la délégation effectue la validation conformément aux paramètres de l’application, mais le jeton d’ID a été émis avec un algorithme différent en raison du changement d’algorithme forcé.
Vous devez donc absolument, si vous avez l’intention d’utiliser la délégation avec une application publique, configurer l’algorithme de signature JsonWebToken de votre application comme étant RS256
.