/token d’Auth0 afin d’obtenir un jeton d’accès pour votre API.
Obtenir l’ID-JAG
Application demandeuse SAML
refresh_token OIDC, puis échange le refresh_token contre un ID-JAG.
Réponse SAML => Assertion SAML => refresh_token => ID-JAG
Une fois la réponse SAML reçue de l’IdP, extrayez l’assertion SAML à l’aide d’une bibliothèque SAML. Voici un exemple de réponse SAML :
xmllint pour extraire l’assertion SAML :
/token de votre IdP avec les paramètres suivants :
Si le client IdP est confidentiel,
client_secret ou client_assertion est envoyé dans le Form Post ou les en-têtes HTTP; ils s’excluent donc mutuellement et sont indiqués comme facultatifs.
Lorsque la requête est réussie, refresh_token est renvoyé dans la propriété access_token de la réponse JSON :
refresh_token contre un ID-JAG, envoyez une autre requête d’échange de jetons au point de terminaison /token de votre IdP avec les paramètres suivants :
Si le client IdP est confidentiel,
client_secret ou client_assertion est envoyé dans le Form Post ou les en-têtes HTTP; ils s’excluent donc mutuellement et sont tous deux marqués comme facultatifs.
La réponse à cette requête contient l’ID-JAG dans la propriété access_token :
Lorsque l’application de ressource est une application SAML, l’ID-JAG comprend également une revendication
sub_id contenant les renseignements SAML NameID (format, issuer, nameid et nameid_format) de l’utilisateur authentifié, en plus de la revendication sub standard.Application demandeuse OIDC
Jeton ID => ID-JAG
Pour échanger le jeton ID contre un ID-JAG, l’application demandeuse envoie une requête d’échange de jetons au point de terminaison /token de votre IdP avec les paramètres suivants :
Si le client IdP est confidentiel,
client_secret ou client_assertion est envoyé dans le Form Post ou les en-têtes HTTP; ils s’excluent donc mutuellement et sont marqués comme facultatifs.
Envoyer l’ID-JAG au point de terminaison /token d’Auth0
/token de votre tenant Auth0 :
Si l’application demandeuse est un client confidentiel,
client_secret ou client_assertion est envoyé dans le Form Post ou les en-têtes HTTP ; ils s’excluent donc mutuellement et sont indiqués comme facultatifs.
Après avoir validé l’ID-JAG pour vérifier l’identité de l’utilisateur, l’Auth0 Authorization Server émet un jeton d’accès pour l’API de votre tenant Auth0. Le jeton d’accès comprend également les scopes demandés, autorisés par RBAC et les autres politiques définies dans votre tenant Auth0.
L’Auth0 Authorization Server n’émet pas de jetons d’actualisation en réponse aux échanges de jetons ID-JAG. L’application demandeuse doit donc obtenir un nouvel ID-JAG auprès de l’IdP d’entreprise et se soumettre aux contrôles d’accès applicables pour obtenir un nouveau jeton d’accès par XAA.
En savoir plus
- Auth0 Cross App Access Inspector : une application Node.js simple qui permet de tester le flux XAA entre Okta et Auth0.
- XAA.dev : un environnement isolé en ligne pour tester Cross App Access dans votre navigateur.