2017-09-09 5 views
0

Was ich tun möchte, ist ziemlich einfach: Bereitstellung von Office 365 und Azure Account von meiner Web App. Und ich möchte, dass es nicht nur für mich, sondern für alle IT-Abteilungen (auch von anderen Organisationen) verfügbar ist, die meine App anmelden.Microsoft Graph API mit Azure User Provisioning

Von meinem Verständnis der Schritte, die ich habe zu nehmen sind:

  • Register App auf apps.dev.microsoft.com und ID und Geheimnis bekommen.
  • ermöglichen, die Scopes Ich habe Interesse an (in meinem Fall Directory.ReadWrite.All und User.ReadWrite.All) - Aktiviert sowohl von delegierten Berechtigungen und Applikationsrechten
  • gegangen durch den Login-Prozess

    https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=[My Client] & response_type = Code & redirect_uri = [Mein Konto]/Konto/Büro & response_mode = Abfrage & scope = openid% 20User.Read% 20offline_access% 20Directory.ReadWrite.All

  • bestätigen der Code I

POST https://login.microsoftonline.com/common/oauth2/v2.0/token?...secret and so on...

, was ich bekommen, ist ein Objekt mit Access Token nun auf meine Rückkehr URL zurückerhalten, Erneuern Token und so weiter und so fort.

Wenn ich es verwenden, um Benutzer zu bekommen, ist es alle Arbeiten:

https://graph.microsoft.com/v1.0/users

Aber wenn ich versuche, das Token ungültig scheint andere Operationen auszuführen.

Zum Beispiel:

  • Azure-Abonnements Get (das Konto admin mehrere Abonnements):

https://management.core.windows.net/subscriptions ==> UNAUTHORIZED

Was ich falsch mache? Ist die IDEE dahinter richtig?

Ich muss wirklich auf einer "globalen" Ebene ohne Config manuelle Schritte auf jedem Abonnement oder einige "TenantID" manuell eingeben getan werden.

Antwort

1

Sie haben ein Token mit dem Gültigkeitsbereich Microsoft Graph API angefordert. Aus diesem Grund können Sie API-Endpunkte verwenden, die von https://graph.microsoft.com/ angezeigt werden.

Der Aufruf an https://management.core.windows.net/subscriptions ist nicht Teil von Microsoft Graph API, so dass Sie Token ist nicht gültig für diese Ressource. Dieser Anruf ist in der Service Management REST API. Authentifizieren für diese API ist documented here.