Skip to main content
Par défaut, la délégation est désactivée pour les tenants qui n’utilisaient pas de module complémentaire en date du 8 juin 2017. Les tenants Legacy qui utilisent actuellement un module complémentaire nécessitant la délégation peuvent continuer à utiliser cette fonctionnalité. Si la fonctionnalité de délégation est modifiée ou retirée du service, les clients qui l’utilisent actuellement en seront avisés à l’avance et disposeront de suffisamment de temps pour migrer.
Un jeton de délégation doit être obtenu et utilisé lorsqu’une application doit effectuer une requête vers l’API d’un module complémentaire d’application, comme Firebase ou SAP, enregistré et configuré dans Auth0, dans le même tenant que le programme appelant. À partir d’un jeton existant, ce endpoint génère un nouveau jeton signé avec le secret de l’application target. Cela permet de transmettre l’identité de l’utilisateur de l’application à une API. Le type de jeton de délégation varie selon le fournisseur. Par exemple, s’il est émis pour Azure Blob Storage, il s’agira d’une SAS (Shared Access Signature). S’il est destiné au module complémentaire Firebase, il s’agira d’un . Le d’un utilisateur authentifié peut être utilisé avec le endpoint /delegation pour demander un jeton de délégation pour une cible particulière. La cible peut être un module complémentaire d’application configuré dans Auth0. Cela est possible pour les modules complémentaires qui ne sont pas des modules complémentaires ou . Le module complémentaire doit être configuré dans Auth0 avec des secrets obtenus auprès du service de module complémentaire, comme Firebase. Des instructions pour configurer les secrets sont offertes sur la page de configuration de chaque module complémentaire. Les secrets servent à signer le jeton de délégation afin que l’API du module complémentaire puisse valider le jeton et s’y fier. Le endpoint 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 texte libre pour des paramètres supplémentaires.

Exemple avec Auth0.js

Pour voir comment obtenir un nouveau jeton pour un module complémentaire que vous avez activé à l’aide d’Auth0.js, consultez la section Requête 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 d’Auth0.js.

Période de validité et révocation

La période de validité et la possibilité de révoquer un token de délégation varient d’un module complémentaire à l’autre. Pour en savoir plus, consultez la documentation du fournisseur de l’API du module complémentaire concerné.

Utiliser des jetons de délégation avec des applications publiques

Il y a une mise en garde importante à prendre en compte lorsque vous utilisez l’endpoint de délégation avec des applications publiques. Si vous envoyez une requête à l’endpoint /token à partir d’une application publique, le ID Token sera signé de force avec RS256, même si l’algorithme de signature JsonWebToken dans les paramètres de l’application est configuré à HS256. Si vous envoyez ensuite une requête à l’endpoint de délégation avec ce ID Token, elle échouera si l’algorithme de signature JsonWebToken de l’application a été configuré à HS256. Cela s’explique par le fait que la délégation effectue la validation en fonction des paramètres de l’application, alors que le ID Token a été émis avec un algorithme différent en raison de ce changement forcé. Il est donc important, si vous comptez utiliser la délégation avec une application publique, de configurer l’algorithme de signature JsonWebToken de votre application à RS256.