Passer au contenu principal
Par défaut, la délégation est désactivée pour les locataires qui n’utilisaient pas d’option en date du 8 juin 2017. Les anciens locataires qui utilisent actuellement une option 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 un jour, 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 appeler l’API d’une option d’application, comme Firebase ou SAP, enregistrée et configurée dans Auth0, dans le même locataire que le programme appelant. À partir d’un jeton existant, ce point de terminaison génère un nouveau jeton signé avec le secret de l’application target. Il sert à 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, ce sera une SAS (Shared Access Signature). S’il est émis pour l’option Firebase, ce sera un . Le 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 une option d’application configurée dans Auth0. Les options pour lesquelles cela est possible sont celles qui ne sont pas des options ou . L’option doit être configurée dans Auth0 avec des secrets obtenus auprès du service de l’option, comme Firebase. Les instructions pour configurer les secrets sont disponibles sur la page de configuration de chaque option. Les secrets servent à signer le jeton de délégation afin que l’API de l’option puisse le valider et s’y fier. 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) et une zone de forme libre pour des paramètres supplémentaires.

Exemple avec Auth0.js

Pour voir un exemple montrant comment obtenir un nouveau jeton pour une option que vous avez activée à l’aide d’Auth0.js, consultez Delegation Token Request. 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 jeton de délégation varient selon chaque option. Pour en savoir plus, consultez la documentation fournie par le fournisseur de l’API de l’option concernée.

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

Il y a une mise en garde importante à garder à l’esprit lorsque vous utilisez le 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’identité sera obligatoirement signé avec RS256, même si l’algorithme de signature JsonWebToken dans les paramètres de l’application est configuré sur HS256. Si vous appelez ensuite le point de terminaison de délégation avec ce jeton d’identité, l’appel échoulera si l’algorithme de signature JsonWebToken de l’application a été configuré sur HS256. Cela s’explique par le fait que la délégation effectue la validation en fonction des paramètres de l’application, mais que le jeton d’identité a été émis avec un algorithme différent en raison de ce changement forcé. Il est donc important que, si vous prévoyez utiliser la délégation avec une application publique, vous configuriez l’algorithme de signature JsonWebToken de votre application sur RS256.