OAuth2 avec Azure AD - ne pas obtenir le consentement de l'utilisateur

j'essaie de faire en sorte que le flux de travail OAuth2 fonctionne correctement pour Azure AD. Je suis en suivant les instructions à partir de cette source: https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx

je peux obtenir avec succès une réponse de code d'autorisation en utilisant cette requête: https://login.microsoftonline.com/[app-endpoint-id]/oauth2/authorize?response_type=code&client_id=[client-id]&redirect_uri=[redirect-uri]

j'utilise alors le code d'autorisation pour demander un token d'accès avec un post http comme so (je le teste en utilisant Postman):

POST /[app-endpoint-id]/oauth2/token HTTP/1.1 Host: login.microsoftonline.com Cache-Control: no-cache Postman-Token: ed098281-9aa4-6e5f-915d-0253d9a876d3 Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=[client-id]&code=[authorization_code]&redirect_uri=[redirect_uri]&client_secret=[client-secret]&resource=[app-url]

j'ai le message d'erreur de la requête POST:

{"error":"invalid_grant","error_description":"AADSTS65001: l'utilisateur ou Le l'administrateur n'a pas consenti à utiliser L'application avec ID "app-id". Envoyer une demande d'autorisation interactive pour cet utilisateur et ressources.R NTRACE ID: trace-dirncorrélation ID: corrélation-idR nTimestamp: 2016-01-13 17: 18: 39Z", "error_codes": [65001], "timestamp": "2016-01-13 17:18:39Z","trace_id":"trace-id","correlation_id":"corrélation"id}

si je vide mon cache et que je fais la première demande pour le code d'autorisation, je serai redirigé pour me connecter. Cependant, je n'ai aucun moyen d'autoriser mon application après m'être connecté comme il est indiqué dans cette documentation:

//azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/

Ce que je fais mal? Je suis d'essayer d'obtenir un jeton d'accès.

15
demandé sur James Jones 2016-01-13 22:22:06

2 réponses

le problème que vous rencontrez est que le locataire que vous utilisez pour accéder à votre application n'a pas ajouté votre application à la liste des applications supportées. Il vous dit d'utiliser le flux interactif comme administrateur.

le Consentement est un processus en deux étapes:

1) tout d'Abord, l'administrateur du locataire doit approuver l'application. Ceci peut être fait soit 1) dans le portail D'Azur du locataire souhaitant utiliser l'application ou 2) en lançant l'application et en utilisant admin justificatifs d'identité contre l'application lorsque vous vous inscrivez.

Exemple du portail Azure approbation:

2) Deuxièmement, tout utilisateur supplémentaire (non-administrateur) sera encouragé à consentir pour leurs renseignements personnels en utilisant l'application pour la première fois après que l'administrateur a consenti que l'application peut être utilisée.

9
répondu Brandon Werner 2016-01-19 19:36:45

Essayez de donner des ressources comme"https://graph.windows.net' dans la requête post.

Il a travaillé pour moi.

2
répondu pooja karande 2016-12-28 14:47:37