2017-06-01 4 views
0

Ich versuche herauszufinden, wie mit der Azure Graph-API der vollständige Name eines Benutzers (zuerst und zuletzt) ​​von einem bestimmten Benutzernamen abgefragt werden kann. Ich verstehe, ich kann dies mit dem folgenden Grafik-API-Aufruf ...Azure-Grafik-API - Benutzerinformationen abfragen

https://graph.windows.net/myorganization/users/{user_id}?api-version 

Aber ich bin nicht sicher, wie ich mich über ein Zugriffstoken immer damit zu verwenden, da dieser Prozess ohne einen Benutzer aufgerufen werden Einloggen, in der Regel erhalten wir ein Zugriffs-Token.

Gibt es auf jeden Fall kann ich einen Benutzernamen/ein Passwort an eine bestimmte URL mit cURL oder etwas übergeben und erhalten ein Zugriffs-Token auf diese Weise, so dass es hinter den Kulissen getan wird?

Antwort

3

Es gibt zwei Hauptauthentifizierungsmethoden, die von OAuth unterstützt werden 2:

  1. Authorization Code Grant Strömungs
  2. Client Credentials Grant Strömungs

Der erste Strömungs erfordert ein User-Agent anwesend zu sein, in den zu unterschreiben Client-Service und Ergebnisse in einem delegierten Token. Bei der zweiten Methode muss sich kein Benutzer anmelden, da er sich nur mithilfe des Clientgeheimnisses authentifiziert. Dies führt zu einem Nur-App-Token.

Wenn Sie einen Hintergrunddienst erstellen möchten, der Daten von der AAD Graph-API erfasst, können Sie dies absolut mithilfe des Client-Berechtigungsnachweis-Gewährungsablaufs tun, bei dem kein Benutzer während des Authentifizierungsablaufs anwesend sein muss.

Sie müssen lediglich Ihre Anwendung so konfigurieren, dass nur für die Anwendungsbereiche gilt. Lesen Sie here: Permission scopes | Graph API concepts. App-Scopes erfordern nur, dass Mieter-Administratoren der Anwendung zustimmen, um Zugriff auf Daten zu erhalten.

Schließlich muss ich erwähnen, dass es einen anderen weniger verwendeten Fluss gibt, der in der Spezifikation OAuth 2 angegeben ist: Resource Owner Password Credentials Grant. Dieser Ablauf gibt an, wie eine Clientanwendung, die den Benutzernamen und das Kennwort eines Benutzers kennt, diese Parameter direkt übergeben und im Namen des Benutzers ein Zugriffstoken erhalten kann. Die Verwendung dieses Flusses ist jedoch keine gute Praxis.

Die Ressourceneigentümer Kennwortdaten gewähren Art in Fällen geeignet ist, wo die Ressourceneigentümer eine Vertrauensbeziehung mit dem Client, wie das Betriebssystem des Geräts oder einer hochprivilegierten Anwendung hat. Der Autorisierungsserver sollte besondere Vorsicht walten lassen, wenn diesen Berechtigungstyp aktiviert und nur zugelassen wird, wenn andere Flüsse nicht realisierbar sind.

Wir unterstützen dies in unserem V1-Endpunkt, aber nicht in unserem neuen V2-Endpunkt. Sie können this blog to learn more lesen.

Verwandte Themen