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.
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.
Essayez de donner des ressources comme"https://graph.windows.net' dans la requête post.
Il a travaillé pour moi.