Comment demander un Access Token
dans Postman contre un Azure AD B2C tenant?
J'ai essayé de prendre l'URL de Run Now
dans le portail Azure et de l'insérer dans le Auth Url
, mais cela produit l'erreur suivante:
Mettre à jour
Suite à la réponse de Chris, je suis maintenant passé l'erreur ci-dessus. Je peux me connecter mais je ne peux toujours pas obtenir de jeton d'accès:
AADB2C90085: le service a rencontré une erreur interne. Veuillez vous réauthentifier et réessayer . ID de corrélation: 45c56d47-4739-465f-8e02-49ba5b3a1b86 Horodatage: 2017-11-16 15: 27: 52Z
En utilisant @ Réponse de Chris Padgett , j'ai pu le faire fonctionner avec le type de subvention Implicit
(impossible de le faire fonctionner avec le type d'autorisation Code d'autorisation Gran).
Type de subvention: Implicit
URL de rappel: toute URL définie dans mon application B2C
URL d'authentification: https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/authorize
ID client: Application ID
depuis mon application B2C
Portée: https://{tenant}.onmicrosoft.com/{web api app id uri}/{scope name}
Authentification du client: Either one, it didn't matter
Mettre à jour
Microsoft a documenté le processus maintenant! Utilisez Postman pour obtenir un jeton et tester l'API .
Pour le champ URL d'authentification, il vous suffit d'entrer l'URL du noeud final d'autorisation sans les paramètres de chaîne de requête:
https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/authorize
Pour le champ URL du jeton d'accès:
https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/token
Pour le champ URL de rappel, vous devez entrer une URL de réponse enregistrée avec l'application Azure AD B2C, telle que:
https://www.getpostman.com/oauth2/callback
Pour le champ Scope, entrez "openid" ainsi que les portées d'accès aux API.
Pour le champ Authentification du client, sélectionnez "Envoyer les informations d'identification du client dans le corps".
Je souhaite simplement ajouter quelques informations supplémentaires sur la prospérité, car j'ai récemment passé trop de temps à essayer de résoudre un problème relatif à l'erreur AADB2C90085. Cette question est l'un des rares résultats obtenus sur Google.
Mettre à jour
Suite à la réponse de Chris, je suis maintenant passé l'erreur ci-dessus. Je peux me connecter mais je ne peux toujours pas obtenir de jeton d'accès:
AADB2C90085: le service a rencontré une erreur interne. Veuillez vous réauthentifier et réessayer. ID de corrélation: 45c56d47-4739-465f-8e02-49ba5b3a1b86 Horodatage: 2017-11-16 15: 27: 52Z
Et:
En utilisant la réponse de @Chris Padgett, j'ai pu le faire fonctionner en utilisant le type de subvention implicite (impossible de le faire fonctionner avec un type de code d'autorisation de type autorisation).
J'ai reçu cette erreur lors de l'utilisation du flux de code d'autorisation car mes B2C_1A_TokenSigningKeyContainer} et B2C_1A_TokenEncryptionKeyContainer n'ont pas été générés correctement. Une fois que j'ai suivi le guide sur Familiarisez-vous avec les stratégies personnalisées dans Azure Active Directory B2C l'erreur s'est produite.
Extrait pertinent du lien:
Créer la clé de signature
- Sélectionnez Clés de stratégie, puis sélectionnez Ajouter.
- Pour les options, choisissez Générer.
- Dans Nom, entrez TokenSigningKeyContainer. Le préfixe B2C_1A_ peut être ajouté automatiquement.
- Pour le type de clé, sélectionnez RSA.
- Pour l’utilisation des clés, sélectionnez Signature.
- Cliquez sur Créer.
Créer la clé de cryptage
- Sélectionnez Clés de stratégie, puis sélectionnez Ajouter.
- Pour les options, choisissez Générer.
- Dans Nom, entrez TokenEncryptionKeyContainer. Le préfixe B2C_1A_ peut être ajouté automatiquement.
- Pour le type de clé, sélectionnez RSA.
- Pour l'utilisation de la clé, sélectionnez Cryptage.
- Cliquez sur Créer.
Je pouvais obtenir un jeton d’accès à la demande B2C dans Postman pour les deux types d’octroi: grant_type=implicit
et aussi grant_type=authorization_code
. J'ai ouvert en conséquence un problème concernant la documentation MS :
grant_type=authorization_code"
est également possible (voir description): https://github.com/aspnet/Docs/issues/10336Les modifications suivantes étaient nécessaires:
Les seules différences entre grant_type=implicit
et grant_type=authorization_code
sont que grant_type=authorization_code
a besoin de quelques paramètres supplémentaires, comme suit:
URL de jeton d'accès (demande de jeton d'accès): https://login.microsoftonline.com/ "nom du locataire" .onmicrosoft.com/oauth2/v2.0/token? P = B2C_1_ "nom de votre -signup-signin-flow "
client_secret: générez une clé pour votre application: Portail Azure -> Azure AD B2C -> Applications -> -> Clés -> Générer une clé