Est-il possible d'accéder à l'API Microsoft Graph à l'aide d'un jeton d'accès obtenu via Azure Active Directory 1.0 Endpoint avec le flux Client Credentials OAuth 2?Appel de l'API Microsoft Graph à l'aide du flux Azure AD 1.0 Endpoint Client Credentials
Par exemple:
POST https://login.microsoftonline.com/{mytenant}.onmicrosoft.com/oauth2/token
grant_type=client_credentials,
client_id={app id registered in azure portal},
client_secret={registered app key},
resource=https://graph.microsoft.com
Lorsque j'utilise le jeton renvoyé de cette demande, je reçois l'erreur suivante en essayant d'appeler https://graph.microsoft.com/v1.0/groups.
Decoded JWT
tête
{
"typ": "JWT",
"alg": "RS256",
"x5t": "HHByKU-0DqAqMZh6ZFPd2VWaOtg",
"kid": "HHByKU-0DqAqMZh6ZFPd2VWaOtg"
}
Payload
{
"aud": "00000002-0000-0000-c000-000000000000",
"iss": "https://sts.windows.net/{tenant id}/",
"iat": 1504804880,
"nbf": 1504804880,
"exp": 1504808780,
"aio": "Y2FgYDiiO8/s3smXRdxLg87zBPRNAwA=",
"appid": "{client id}",
"appidacr": "1",
"idp": "https://sts.windows.net/{tenant id}/",
"oid": "{enterprise app object id}",
"sub": "{enterprise app object id}",
"tenant_region_scope": "NA",
"tid": "{tenant id}",
"uti": "uIzrJNpHcEGXoQ4ZKZgqAA",
"ver": "1.0"
}
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"innerError": {
"request-id": "3537d28e-a061-4430-aef5-4a75bf791d90",
"date": "2017-09-07T16:38:26"
}
}
}
J'ai assuré l'application dispose des autorisations appropriées affectées par le portail. Sous Autorisations requises> Autorisations d'application, "Lire et écrire tous les groupes" est sélectionné.
Est-ce que je suis absent ou est-ce pas possible?
Pouvez-vous vérifier le JWT dans un service comme https://jwt.io et assurez-vous qu'il contient la revendication * roles * avec la permission nécessaire? – juunas
Il ne semble pas y avoir de rôles répertoriés dans le JWT. Dans ce cas, y a-t-il quelque chose que je dois ajouter à ma demande? – dallasg
Avez-vous appuyé sur le bouton * Autoriser les autorisations * à l'endroit où vous avez configuré les exigences d'autorisation pour l'application? Et aussi, assurez-vous que c'était l'API Microsoft Graph pour laquelle vous avez demandé les autorisations. – juunas