web-dev-qa-db-fra.com

L'émetteur dans Access Token à partir d'Azure Active Directory est https://sts.windows.net quand je m'attends à https://login.microsoftonline.com

J'essaie de valider un jeton d'accès obtenu à partir d'Azure Active Directory.

J'ai obtenu le jeton de - https://login.microsoftonline.com/ {{My Tennant GUID}}/V2.0

cependant, l'émetteur du jeton qui revient est https://sts.windows.net// {{My Tennant Guid}}/Quel est le match.

Si je vérifie cette configuration à .well-connus/openid-configuration, l'émetteur est comme prévu https://login.microsoftonline.com/ ....

J'ai trouvé un problème similaire rapporté sur Git Hub ici https://github.com/azueead/microsoft-authentication-library-for-js/issues/56

le résultat de ceci est de modifier manuellement le manifeste JSON dans l'inscription de l'application dans AAD et définissez "AccessTokenceptversion": 2

Je l'ai fait mais ça n'a fait aucune différence.

J'ai également connu des questions similaires sur le débordement de la pile, mais elles sont liées à une différence dans le GUID de location - ce n'est pas le cas ici.

7
Twisted

L'identifiant de l'émetteur semble ok au premier coup d'œil - il s'agit d'une URL logique de représenter l'identité AZure ad.

Regardez l'en-tête JWT et voyez s'il contient une valeur de nonce. Celles-ci semblent toujours échouer la validation du jeton d'accès standard.

Si oui, alors à l'aide du V1 OAuth les points d'extrémité résoudront probablement cela - bien qu'il puisse y avoir des solutions alternatives. Vaut la peine d'afficher une capture d'écran du contenu JWT (désinfecté).

0
Gary Archer