OAuth intégration avec O365 échoue avec l'erreur AADSTS65005
Nous avons un site web (basé sur un framework php) où nous fournir en ligne des outils pédagogiques pour les enseignants/étudiants. Nous avons fait une intégration avec OAuth google.com d'où les utilisateurs peuvent "se connecter" et "s'inscrire" pour notre site à l'aide de leurs comptes google (peut-être un personnel compte gmail, ou un membre d'un domaine google apps).
Nous essayons de faire un similaires intégration avec O365 où notre site web peut demander O365 pour l'utilisateur de l'e-mail et nom et prénom afin que nous puissions créer un compte sur notre site, et une fois le compte créé, connectez-vous. Nous avons créé une Application de liste dans Azure -> Active Directory, et ont donné lieu à l'identification du client et secret, et branché en sortie du code PHP. OAuth flux de travail décrit ici fonctionne jusqu'au moment où je l'ai essayer et demande le jeton d'accès à l'aide d'une requête POST à https://login.windows.net/common/oauth2/token. Il la renvoie à mon redirect_uri
mais au lieu de me donner le code d'autorisation, il me donne ces paramètres dans l'URL:
[error] => access_denied
[error_description] => AADSTS65005: The client application has requested access to resource 'https://outlook.office365.com/'. This request has failed because the client has not specified this resource in its requiredResourceAccess list.
Trace ID: xxxxxx
Correlation ID: xxxxxx
Timestamp: 2014-09-29 06:28:25Z
[state] => xxxxxx
Tout ce que je besoin est pour O365 pour me donner l'email de l'utilisateur et f/l des noms. Il y a certainement une solution rapide pour ce que je suis absent?
OriginalL'auteur user2950957 | 2014-09-29
Vous devez vous connecter pour publier un commentaire.
Par défaut, un régime enregistré d'application est configuré pour demander "Lire le profil de l'utilisateur", qui, une fois acceptées par l'utilisateur, permet à l'application d'obtenir un jeton d'utilisateur (id de jeton si utilisant OpenID Connect) et la lecture de la signature dans le profil de l'utilisateur (y compris leur adresse de courriel ou l'adresse) lors de l'appel de la Azure AD API Graphique. Applications sécurisées par Azure AD devez configurer l'autorisation étendues qu'elles exigent à l'avant (dans le cadre de l'application d'enregistrement de l'expérience, sous la rubrique "Autorisations à d'autres applications").
Ici, il semble que vous avez spécifié Outlook.com comme la ressource que vous souhaitez un code et un jeton d'accès, mais votre application n'est pas configuré pour autoriser l'accès à O365 Outlook.com/Exchange en Ligne.
S'il vous plaît essayer le réglage de la ressource dans votre demande à Azure AD - https://graph.windows.net/. Que devrait travail pour vous. Vous pouvez ensuite échanger le code pour un jeton d'accès pour appeler l'Azure AD API Graphique.
Espère que cette aide
Ont réussi à le faire maintenant. Votre réponse était correcte. J'ai dû changer l'URL à utiliser https au lieu de http.
Si je pouvais upvote un million de fois de plus je le ferais!
OriginalL'auteur Dan Kershaw - MSFT