0

Ich habe die App in apps.dev.microsoft.com erstellt. Ich benutze https://login.microsoftonline.com/common/oauth2/v2.0/authorize für Autorisierungscode und https://login.microsoftonline.com/common/oauth2/v2.0/token für Zugriff und Aktualisierungstoken. Ich erhalte die Zugriffstoken erfolgreich, aber wenn ich versuche, die unterzeichnet in Benutzer-Profile Daten zu lesen gibt es mir die Fehlermeldung:Mirosoft Graph API gibt nicht unterstützte Berechtigungen Fehler

Array (
    [error] => Array 
     (
      [code] => Authorization_RequestDenied 
      [message] => Insufficient privileges to complete the operation. 
      [innerError] => Array 
       (
        [request-id] => 02269b14-2cf9-458e-b9d6-2aec1a23cee3 
        [date] => 2017-02-23T16:30:44 
       ) 

     ) 

) 

Wenn ich die Original-ID, mit der die App erstellt wurde dann dieser Fehler doesn‘ t auftauchen. Aber wenn ich eine andere ID außerhalb meines Mietvertrages benutze, taucht dieser Fehler auf. Kann mir jemand einen Workaround vorschlagen?

Antwort

1

Basierend auf dem preview post, können Sie die Anfrage unter Verwendung wie unter den Token zu erwerben:

GET:https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&client_id={clientId}&scope=openid%20profile&redirect_uri={redirectURL} 

In diesem Antrag wurden Verwenden Sie den Umfang (openid,profile), die die access_token nicht zurückkehren würde für Verwenden des Microsoft Graph REST. Das Profil Bereich gibt nur die Benutzerinformationen im id_token zurück, anstatt Ihnen die Berechtigung zum Zugriff auf die Benutzerinformationen über Microsoft Graph REST zu erteilen.

Wenn Sie die Microsoft Graph REST verwenden möchten, müssen wir den Bereich wie https://graph.microsoft.com/user.Read hinzufügen (weitere Informationen zum Lesen von Benutzerinformationen finden Sie unter here). Und hier ist eine Musteranforderung für Ihre Referenz Profil des Benutzers über https://graph.microsoft.com/v1.0/me zugreifen zu aktivieren:

GET:https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&client_id={clientId}&scope=https://graph.microsoft.com/user.Read%20openid%20profile&redirect_uri={redirectURL} 

Und bitte beachten Sie die access_token sind anders mit id_token. Wir sollten die Anforderung für die Ressource (Microsoft Graph) unter Verwendung des access_token ausführen. Das id_token wird nur verwendet, um die Identität des Benutzers für den Client zu überprüfen. Mehr über das Konzept von Client und Ressource können Sie beziehen here.

Bitte lassen Sie mich wissen, wenn es hilft.

Verwandte Themen