Anforderung: Wir möchten die Gruppen von einem Benutzer über Microsoft Graph API mit der folgenden Anforderung abfragen:Microsoft Graph API erhalten Gruppen für Benutzerberechtigungen Fehler gibt
https://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/user_getmembergroups
In unserem Fall ist die Antwort sieht wie folgt aus:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "a230a67e-8ef1-4f88-aa19-2c5b983c3de4",
"date": "2017-01-04T16:29:55"
}
}
}
(Hinweis: die GET https://graph.microsoft.com/v1.0/me/ funktioniert gut und gibt die Anwenderdaten)
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"id": "e23976a1-8bd9-4cca-a410-e095d2c2022d",
"businessPhones": [],
"displayName": "XXXX Vad",
"givenName": "XXXX",
"jobTitle": null,
"mail": null,
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null,
"surname": "Vad",
"userPrincipalName": "XXXX.vad_outlook.com#EXT#@XXXXvadoutlook.onmicrosoft.com"
}
Umwelt:
- Anwendung erstellt auf apps.dev.microsoft.com mit den folgenden Parametern: o Anwendungs-ID: 412386c3-8fa3-4000-9039-748111407XXX o delegierte Berechtigungen: [ User.Read]
- Diese Anwendung ist sichtbar auf 'Azure Portal/AAD/Enterprise-Anwendungen' und der Benutzer mit einer Gruppe 'BASIC' auf diese Anwendung hinzugefügt werden
Ein Beispiel für einen Zugriffstoken von AAD erhalten:
{
"aud": "https://graph.microsoft.com",
"iss": "https://sts.windows.net/b9df6a2d-9150-45f9-abf0-9c30f9e527c7/",
"iat": 1483548390,
"nbf": 1483548390,
"exp": 1483552290,
"acr": "1",
"aio": "AQABAAEAAADRNYRQ3dhRSrm-4K-adpCJhEVX2WEl4aboghl6AXaqOVcbaQPl1yYg1X1D2r4cNxBYmPvUiTKE9bB6wwpNSBKeD2OZXhrzdE3FPddCzbaTo84X8aSoKFaAt2vysYSv1HdChNXBPbfrVlA6YBuSwVwEIAA",
"altsecid": "1:live.com:00037FFEC5917401",
"amr": [
"pwd"
],
"app_displayname": "XXX test",
"appid": "412386c3-8fa3-4000-9039-748111407XXX",
"appidacr": "0",
"email": "[email protected]",
"family_name": "Vad",
"given_name": "XXXX",
"idp": "live.com",
"ipaddr": "165.225.80.95",
"name": "XXXX Vad",
"oid": "e23976a1-8bd9-4cca-a410-e095d2c20XXX",
"platf": "3",
"puid": "10037FFE9D51DXXX",
"scp": "User.Read",
"sub": "sCDfsIUynhm4GdgPIe8hYguyNbbc7IBjZeKLd1UDXXX",
"tid": "b9df6a2d-9150-45f9-abf0-9c30f9e52XXX",
"unique_name": "live.com#[email protected]",
"ver": "1.0"
}
Was ich tue, falsch oder was fehlt ist? Jede Hilfe wird geschätzt.
So haben Sie die Berechtigung Benutzer zu lesen, aber ich denke, das bedeutet nicht, Sie Gruppen lesen kann? – juunas
Ja, ich habe User.READ unter apps.dev.microsoft zu meiner App hinzugefügt und verwende dieselbe appId, um das Token abzurufen (siehe oben). Obwohl der "aud" -Anspruch nicht meine App-URL ist ... –
Der aud-Anspruch sagt, wer der Token ist, also nichts falsch daran. Sie benötigen wahrscheinlich eine andere Erlaubnis. – juunas