Zugreifen im Namen eines BenutzersGet access on behalf of a user

Um Microsoft Graph zum Lesen und Schreiben von Ressourcen im Namen eines Benutzers zu verwenden, muss Ihre App ein Zugriffstoken von der Microsoft Identity Platform abrufen und das Token an Anforderungen anfügen, die die API an Microsoft Graph sendet. Welchen Authentifizierungsfluss genau Sie zum Abrufen von Zugriffstoken verwenden, ist davon abhängig, welche Art von App Sie entwickeln und ob Sie OpenID Connect zum Anmelden des Benutzers bei Ihrer App verwenden möchten. Ein Fluss, der häufig von systemeigenen und mobilen Apps und auch von einigen Web-Apps verwendet wird, ist der Fluss zur Erteilung von OAuth 2.0-Autorisierungscodes. Dieses Thema wird anhand eines Beispiels die einzelnen Schritte dieses Flusses erläutern.To use Microsoft Graph to read and write resources on behalf of a user, your app must get an access token from Azure AD and attach the token to requests that it sends to Microsoft Graph. The exact authentication flow that you will use to get access tokens will depend on the kind of app you are developing and whether you want to use OpenID Connect to sign the user in to your app. One common flow used by native and mobile apps and also by some Web apps is the OAuth 2.0 authorization code grant flow. In this topic, we will walk through an example using this flow.

Authentifizierungs- und AutorisierungsschritteAuthentication and Authorization steps

Um ein Zugriffstoken mit dem Fluss zur Erteilung von OAuth 2.0-Autorisierungscodes vom Microsoft Identity Platform-Endpunkt abzurufen, müssen die folgenden grundlegenden Schritte ausgeführt werden:The basic steps required to use the OAuth 2.0 authorization code grant flow to get an access token from the Microsoft identity platform endpoint are:

  1. Registrieren der App bei Azure ADRegister your app with Azure AD.
  2. Abrufen eines AutorisierungscodesGet authorization.
  3. Abrufen eines ZugriffstokensGet an access token.
  4. Aufrufen von Microsoft Graph mit dem ZugriffstokenCall Microsoft Graph with the access token.
  5. Abrufen eines neuen Zugriffstokens mithilfe eines AktualisierungstokensUse a refresh token to get a new access token.

1. Registrieren der App1. Register your app

Für den Microsoft Identity Platform-Endpunkt müssen Sie Ihre App im Azure -App-Registrierungsportal registrieren. Sie können entweder ein Microsoft-Konto oder ein Geschäfts-, Schul- oder Unikonto zum Registrieren einer App verwenden.To use the Microsoft identity platform endpoint, you must register your app using the Azure app registration portal. You can use either a Microsoft account or a work or school account to register an app.

Um eine App für die Verwendung des Flusses zur Erteilung von OAuth 2.0-Autorisierungscodes zu konfigurieren, müssen Sie beim Registrieren der App die folgenden Werte speichern:To configure an app to use the OAuth 2.0 authorization code grant flow, you'll need to save the following values when registering the app:

  • Die Anwendung-ID (client), die vom App-Registrierungsportal zugewiesen wurde.The Application ID assigned by the app registration portal.
  • Ein geheimer Clientschlüssel oder ein Anwendungsgeheimnis, entweder ein Kennwort oder ein öffentliches/privates Schlüsselpaar (Zertifikat).A Client (application) Secret, either a password or a public/private key pair (certificate). Dies ist für systemeigene Apps nicht erforderlich.This is not required for native apps.
  • Eine Umleitungs-URL (oder Antwort-URL), damit Ihre App Antworten von Azure AD empfangen kann.A Redirect URL for your app to receive responses from Azure AD.

Schritte zum Konfigurieren einer App im Azure-Portal finden Sie unter Apps registrieren.For steps on how to configure an app in the Azure portal, see Register your app.

2. Abrufen eines Autorisierungscodes2. Get authorization

Der erste Schritt zum Abrufen eines Zugriffstokens für viele OpenID Connect- und OAuth 2.0-Flüsse besteht darin, den Benutzer zum Microsoft Identity Platform/authorize-Endpunkt umzuleiten.The first step to getting an access token for many OpenID Connect and OAuth 2.0 flows is to redirect the user to the Microsoft identity platform /authorize endpoint. Azure AD meldet den Benutzer an und sichert dessen Zustimmung zu den von der App angeforderten Berechtigungen.Azure AD will sign the user in and ensure their consent for the permissions your app requests. Im Fluss zur Erteilung von Autorisierungscodes gibt Azure AD nach Erhalt der Zustimmung einen Autorisierungscode an Ihre App zurück, den diese beim Microsoft Identity Platform/token-Endpunkt für ein Zugriffstoken einlösen kann.In the authorization code grant flow, after consent is obtained, Azure AD will return an authorization_code to your app that it can redeem at the Microsoft identity platform /token endpoint for an access token.

AutorisierungsanforderungAuthorization request

Im Folgenden finden Sie ein Beispiel für eine an den /authorize-Endpunkt gesendete Anforderung.The following shows an example request to the /authorize endpoint.

Beim Microsoft Identity Platform-Endpunkt werden Berechtigungen mit dem scope-Parameter angefordert.With the Microsoft identity platform endpoint, permissions are requested using the scope parameter. In diesem Beispiel werden die Microsoft Graph-Berechtigungen User.Read und Mail.Read angefordert, die es der App ermöglichen, das Profil und die E-Mails des angemeldeten Benutzers zu lesen.In this example, the Microsoft Graph permissions requested are for User.Read and Mail.Read, which will allow the app to read the profile and mail of the signed-in user. Die Berechtigung offline_access wird angefordert, damit die App ein Aktualisierungstoken abrufen kann, um nach Ablauf des aktuellen Zugriffstokens ein neues abzurufen.The offline_access permission is requested so that the app can get a refresh token, which it can use to get a new access token when the current one expires.

// Line breaks for legibility only

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=offline_access%20user.read%20mail.read
&state=12345
ParameterParameter BeschreibungDescription
tenanttenant Erforderlichrequired Mit dem Wert {tenant} im Pfad der Anforderung kann gesteuert werden, wer sich bei der Anwendung anmelden kann. Die zulässigen Werte sind common für Microsoft-Konten und Geschäfts-, Schul- oder Unikonten, organizations nur für Geschäfts-, Schul- oder Unikonten, consumers nur für Microsoft-Konten und Mandantenbezeichner wie z. B. Mandanten-ID oder Domänenname. Weitere Informationen finden Sie unter Grundlagen zu Protokollen.The {tenant} value in the path of the request can be used to control who can sign into the application. The allowed values are common for both Microsoft accounts and work or school accounts, organizations for work or school accounts only, consumers for Microsoft accounts only, and tenant identifiers such as the tenant ID or domain name. For more detail, see protocol basics.
client_idclient_id Erforderlichrequired Die Anwendungs-ID, die Ihrer App vom Registrierungsportal zugewiesen wurde.The Application ID that the registration portal assigned your app.
response_typeresponse_type erforderlichrequired Muss code für den Autorisierungscodefluss enthalten.Must include code for the authorization code flow.
redirect_uriredirect_uri empfohlenrecommended Der Umleitungs-URI Ihrer API, an den Authentifizierungsantworten gesendet und von Ihrer App empfangen werden können. Er muss genau mit einem der Umleitungs-URIs übereinstimmen, die Sie im App-Registrierungsportal registriert haben, mit der Ausnahme, dass er URL-codiert sein muss. Für systemeigene und mobile Apps sollten Sie den Standardwert https://login.microsoftonline.com/common/oauth2/nativeclient verwenden.The redirect_uri of your app, where authentication responses can be sent and received by your app. It must exactly match one of the redirect_uris you registered in the app registration portal, except it must be URL encoded. For native and mobile apps, you should use the default value of https://login.microsoftonline.com/common/oauth2/nativeclient.
Umfangscope Erforderlichrequired Eine mit Leerzeichen getrennte Liste von Microsoft Graph-Berechtigungen, denen der Benutzer zustimmen soll. Hierzu können auch OpenID-Bereiche gehören.A space-separated list of the Microsoft Graph permissions that you want the user to consent to. This may also include OpenID scopes.
response_moderesponse_mode empfohlenrecommended Gibt die Methode an, die verwendet werden soll, um das resultierende Token an die App zurückzusenden. Kann query oder form_post sein.Specifies the method that should be used to send the resulting token back to your app. Can be query or form_post.
Zustandstate empfohlenrecommended Ein Wert, der in der Anforderung enthalten ist und ebenfalls in der Tokenantwort zurückgegeben wird. Es kann eine Zeichenfolge beliebigen Inhalts sein. In der Regel wird ein zufällig generierter eindeutiger Wert verwendet, um websiteübergreifende Anforderungsfälschungsangriffe zu verhindern . Der Status wird auch verwendet, um Informationen über den Status des Benutzers in der App vor dem Versand der Authentifizierungsanforderung zu codieren, z. B. die Seite oder die Ansicht, auf bzw. in der sich der Benutzer befunden hat.A value included in the request that will also be returned in the token response. It can be a string of any content that you wish. A randomly generated unique value is typically used for preventing cross-site request forgery attacks. The state is also used to encode information about the user's state in the app before the authentication request occurred, such as the page or view they were on.

Wichtig: Microsoft Graph stellt zwei Arten von Berechtigungen zur Verfügung: Anwendungsberechtigungen und delegierte Berechtigungen. Für Apps, die mit einem angemeldeten Benutzer ausgeführt werden, fordern Sie delegierte Berechtigungen im scope-Parameter an. Diese Berechtigungen delegieren die Rechte des angemeldeten Benutzers an Ihre Anwendung und ermöglichen es ihr, als der angemeldete Benutzer zu agieren, wenn Aufrufe an Microsoft Graph gesendet werden. Ausführliche Informationen zu den in Microsoft Graph verfügbaren Berechtigungen finden Sie in der Berechtigungsreferenz.Important: Microsoft Graph exposes two kinds of permissions: application and delegated. For apps that run with a signed-in user, you request delegated permissions in the scope parameter. These permissions delegate the privileges of the signed-in user to your app, allowing it to act as the signed-in user when making calls to Microsoft Graph. For more detailed information about the permissions available through Microsoft Graph, see the Permissions reference.

An diesem Punkt wird der Benutzer aufgefordert, seine Anmeldeinformationen einzugeben, um sich bei Microsoft zu authentifizieren.At this point, the user will be asked to enter their credentials to authenticate with Microsoft. Der v2.0-Endpunkt der Microsoft Identity Platform stellt außerdem sicher, dass der Benutzer den im scope-Parameter angegebenen Berechtigungen zugestimmt hat.The v2.0 endpoint will also ensure that the user has consented to the permissions indicated in the scope query parameter. Wenn der Benutzer keiner dieser Berechtigungen zugestimmt hat und wenn nicht zuvor ein Administrator im Namen aller Benutzer in der Organisation seine Zustimmung erteilt hat, wird der Benutzer aufgefordert, den erforderlichen Berechtigungen zuzustimmen.If the user has not consented to any of those permissions and if an administrator has not previously consented on behalf of all users in the organization, they will be asked to consent to the required permissions.

Hier sehen Sie ein Beispiel für das Zustimmungsdialogfeld, das für ein Microsoft-Konto Benutzer angezeigt wird.Here is an example of the consent dialog presented for a Microsoft account:

Zustimmungsdialogfeld für Microsoft-Konto

Versuchen Sie es Wenn Sie über ein Microsoft-Konto oder ein Azure AD-Geschäfts-, Schul- oder Unikonto verfügen, können Sie dies selbst ausprobieren, indem Sie auf den folgenden Link klicken. Nach der Anmeldung sollte Ihr Browser zu https://localhost/myapp/ mit einem code in der Adressleiste umgeleitet werden.Try If you have a Microsoft account or an Azure AD work or school account, you can try this for yourself by clicking on the link below. After signing in, your browser should be redirected to https://localhost/myapp/ with a code in the address bar.

https://login.microsoftonline.com/common/oauth2/v2.0/authorize...https://login.microsoftonline.com/common/oauth2/v2.0/authorize...

AutorisierungsantwortAuthorization response

Falls der Benutzer den von Ihrer App angeforderten Berechtigungen zustimmt, enthält die Antwort den Autorisierungscode im code-Parameter. Hier sehen Sie ein Beispiel einer erfolgreichen Antwort auf die vorherige Anforderung. Da der response_mode-Parameter in der Anforderung auf query festgelegt wurde, wird die Antwort in der Abfragezeichenfolge der Umleitungs-URL zurückgegeben.If the user consents to the permissions your app requested, the response will contain the authorization code in the code parameter. Here is an example of a successful response to the request above. Because the response_mode parameter in the request was set to query, the response is returned in the query string of the redirect URL.

GET https://localhost/myapp/?
code=M0ab92efe-b6fd-df08-87dc-2c6500a7f84d
&state=12345
ParameterParameter BeschreibungDescription
codecode Der von der App angeforderte Autorisierungscode. Mit diesem Autorisierungscode kann die App ein Zugriffstoken für die Zielressource anfordern. Autorisierungscodes haben nur eine sehr kurze Gültigkeit, normalerweise laufen sie nach ca. 10 Minuten ab.The authorization_code that the app requested. The app can use the authorization code to request an access token for the target resource. Authorization_codes are very short lived, typically they expire after about 10 minutes.
Zustandstate Wenn ein Statusparameter in der Anforderung enthalten ist, sollte der gleiche Wert in der Antwort angezeigt werden. Die App sollte überprüfen, ob die Statuswerte in Anforderung und Antwort identisch sind.If a state parameter is included in the request, the same value should appear in the response. The app should verify that the state values in the request and response are identical.

3. Abrufen eines Tokens3. Get a token

Ihre App verwendet den im vorherigen Schritt empfangenen Autorisierungs-code zum Anfordern eines Zugriffstokens; hierzu wird eine POST-Anforderung an den /token-Endpunkt gesendet.Your app uses the authorization code received in the previous step to request an access token by sending a POST request to the /token endpoint.

TokenanforderungToken request

// Line breaks for legibility only

POST /{tenant}/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=user.read%20mail.read
&code=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq3n8b2JRLk4OxVXr...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=authorization_code
&client_secret=JqQX2PNo9bpM0uEihUPzyrh    // NOTE: Only required for web apps
ParameterParameter BeschreibungDescription
tenanttenant Erforderlichrequired Mit dem Wert {tenant} im Pfad der Anforderung kann gesteuert werden, wer sich bei der Anwendung anmelden kann. Die zulässigen Werte sind common für Microsoft-Konten und Geschäfts-, Schul- oder Unikonten, organizations nur für Geschäfts-, Schul- oder Unikonten, consumers nur für Microsoft-Konten und Mandantenbezeichner wie z. B. Mandanten-ID oder Domänenname. Weitere Informationen finden Sie unter Grundlagen zu Protokollen.The {tenant} value in the path of the request can be used to control who can sign into the application. The allowed values are common for both Microsoft accounts and work or school accounts, organizations for work or school accounts only, consumers for Microsoft accounts only, and tenant identifiers such as the tenant ID or domain name. For more detail, see protocol basics.
client_idclient_id Erforderlichrequired Die Anwendungs-ID, die Ihrer App vom Registrierungsportal zugewiesen wurde.The Application ID that the registration portal) assigned your app.
grant_typegrant_type erforderlichrequired Muss authorization_code für den Autorisierungscodefluss sein.Must be authorization_code for the authorization code flow.
scopescope Erforderlichrequired Eine mit Leerzeichen getrennte Liste von Bereichen. Die Bereiche, die in diesem Zweig angefordert werden, müssen den im ersten Zweig (Autorisierung) angeforderten Bereichen entsprechen oder eine Teilmenge davon sein. Wenn die in dieser Anforderung angegebenen Bereiche sich über mehrere Ressourcenserver erstrecken, gibt der v2.0-Endpunkt ein Token für die im ersten Bereich angegebene Ressource zurück.A space-separated list of scopes. The scopes requested in this leg must be equivalent to or a subset of the scopes requested in the first (authorization) leg. If the scopes specified in this request span multiple resource servers, then the v2.0 endpoint will return a token for the resource specified in the first scope.
codecode erforderlichrequired Der Autorisierungscode, den Sie im ersten Zweig des Flusses abgerufen haben.The authorization_code that you acquired in the first leg of the flow.
redirect_uriredirect_uri erforderlichrequired Die gleiche Umleitungs-URI-Wert, der zum Abrufen des Autorisierungscodes verwendet wurde.The same redirect_uri value that was used to acquire the authorization_code.
client_secretclient_secret erforderlich für Web-Appsrequired for web apps Das Anwendungsgeheimnis, das Sie im App-Registrierungsportal für Ihre App erstellt haben. Es sollte nicht in einer systemeigenen App verwendet werden, da Anwendungsgeheimnisse nicht zuverlässig auf Geräten gespeichert werden können. Es ist für Web-Apps und Web-APIs erforderlich, die die Möglichkeit haben, das Anwendungsgeheimnis sicher auf dem Server zu speichern.The application secret that you created in the app registration portal for your app. It should not be used in a native app, because client_secrets cannot be reliably stored on devices. It is required for web apps and web APIs, which have the ability to store the client_secret securely on the server side.

TokenantwortToken response

Obwohl das Zugriffstoken für Ihre App undurchsichtig ist, enthält die Antwort im scope-Parameter eine Liste der Berechtigungen, für die das Zugriffstoken gültig ist.Although the access token is opaque to your app, the response contains a list of the permissions that the access token is good for in the scope parameter.

{
    "token_type": "Bearer",
    "scope": "user.read%20Fmail.read",
    "expires_in": 3600,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4..."
}
ParameterParameter BeschreibungDescription
token_typetoken_type Gibt den Tokentypwert an. Der einzige von Azure AD unterstützte Typ ist „Bearer“.Indicates the token type value. The only type that Azure AD supports is Bearer
Bereichscope Eine mit Leerzeichen getrennte Liste der Microsoft Graph-Berechtigungen, für die das Zugriffstoken gültig ist.A space separated list of the Microsoft Graph permissions that the access_token is valid for.
expires_inexpires_in Gültigkeit des Zugriffstokens (in Sekunden).How long the access token is valid (in seconds).
access_tokenaccess_token Das angeforderte Zugriffstoken. Mit diesem Token kann Ihre App Microsoft Graph aufrufen.The requested access token. Your app can use this token to call Microsoft Graph.
refresh_tokenrefresh_token Ein OAuth 2.0-Aktualisierungstoken.An OAuth 2.0 refresh token. Mit diesem Token kann Ihre App zusätzliche Zugriffstoken anfordern, nachdem das aktuelle Zugriffstoken abgelaufen ist.Your app can use this token to acquire additional access tokens after the current access token expires. Aktualisierungstoken haben eine lange Lebensdauer und können verwendet werden, um für längere Zeit Zugriff auf Ressourcen zu behalten.Refresh tokens are long-lived, and can be used to retain access to resources for extended periods of time. Ausführliche Informationen finden Sie in der v2.0-Tokenreferenz.For more detail, refer to the v2.0 token reference.

4. Aufrufen von Microsoft Graph unter Verwendung des Zugriffstokens4. Use the access token to call Microsoft Graph

Sobald Sie über ein Zugriffstoken verfügen, können Sie damit Microsoft Graph aufrufen, indem Sie das Token in den Authorization-Header einer Anforderung einschließen. Die folgende Anforderung ruft das Profil des angemeldeten Benutzers ab.Once you have an access token, you can use it to call Microsoft Graph by including it in the Authorization header of a request. The following request gets the profile of the signed-in user.

GET https://graph.microsoft.com/v1.0/me 
Authorization: Bearer eyJ0eXAiO ... 0X2tnSQLEANnSPHY0gKcgw
Host: graph.microsoft.com

Eine erfolgreiche Antwort sieht ähnlich wie die folgende aus (einige Antwortheader wurden entfernt).A successful response will look similar to this (some response headers have been removed):

HTTP/1.1 200 OK
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
request-id: f45d08c0-6901-473a-90f5-7867287de97f
client-request-id: f45d08c0-6901-473a-90f5-7867287de97f
OData-Version: 4.0
Duration: 727.0022
Date: Thu, 20 Apr 2017 05:21:18 GMT
Content-Length: 407

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "id":"12345678-73a6-4952-a53a-e9916737ff7f",
    "businessPhones":[
        "+1 555555555"
    ],
    "displayName":"Chris Green",
    "givenName":"Chris",
    "jobTitle":"Software Engineer",
    "mail":null,
    "mobilePhone":"+1 5555555555",
    "officeLocation":"Seattle Office",
    "preferredLanguage":null,
    "surname":"Green",
    "userPrincipalName":"ChrisG@contoso.onmicrosoft.com"
}

5. Abrufen eines neuen Zugriffstokens mithilfe eines Aktualisierungstokens5. Use the refresh token to get a new access token

Zugriffstokens sind kurzlebig, und Sie müssen sie nach ihrem Ablauf aktualisieren, um weiterhin auf Ressourcen zugreifen zu können. Hierzu können Sie eine weitere POST-Anforderung an den /token-Endpunkt senden, in der Sie das refresh_token anstelle des code angeben.Access tokens are short lived, and you must refresh them after they expire to continue accessing resources. You can do so by submitting another POST request to the /token endpoint, this time providing the refresh_token instead of the code.

AnforderungRequest

// Line breaks for legibility only

POST /common/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=user.read%20mail.read
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=refresh_token
&client_secret=JqQX2PNo9bpM0uEihUPzyrh      // NOTE: Only required for web apps
ParameterParameter BeschreibungDescription
client_idclient_id Erforderlichrequired Die Anwendungs-ID, die Ihrer App vom Registrierungsportal zugewiesen wurde.The Application ID that the registration portal assigned your app.
grant_typegrant_type erforderlichrequired Muss refresh_token sein.Must be refresh_token.
scopescope Erforderlichrequired Eine mit Leerzeichen getrennte Liste von Berechtigungen (Bereichen). Die angeforderten Berechtigungen müssen den im ursprünglichen Autorisierungscode angeforderten Berechtigungen entsprechen oder eine Teilmenge davon sein.A space-separated list of permissions (scopes). The permissions requested must be equivalent to or a subset of the permissions requested in the original authorization_code request.
refresh_tokenrefresh_token erforderlichrequired Das während der Tokenanforderung abgerufene Aktualisierungstoken.The refresh_token that you acquired during the token request.
redirect_uriredirect_uri erforderlichrequired Die gleiche Umleitungs-URI-Wert, der zum Abrufen des Autorisierungscodes verwendet wurde.The same redirect_uri value that was used to acquire the authorization_code.
client_secretclient_secret erforderlich für Web-Appsrequired for web apps Das Anwendungsgeheimnis, das Sie im App-Registrierungsportal für Ihre App erstellt haben. Es sollte nicht in einer systemeigenen App verwendet werden, da Anwendungsgeheimnisse nicht zuverlässig auf Geräten gespeichert werden können. Es ist für Web-Apps und Web-APIs erforderlich, die die Möglichkeit haben, das Anwendungsgeheimnis sicher auf dem Server zu speichern.The application secret that you created in the app registration portal for your app. It should not be used in a native app, because client_secrets cannot be reliably stored on devices. It is required for web apps and web APIs, which have the ability to store the client_secret securely on the server side.

AntwortResponse

Eine erfolgreiche Tokenantwort sieht ähnlich wie folgende aus.A successful token response will look similar to the following.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "token_type": "Bearer",
    "expires_in": 3599,
    "scope": "user.read%20mail.read",
    "refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4...",
}
ParameterParameter BeschreibungDescription
access_tokenaccess_token Das angeforderte Zugriffstoken. Dieses Token kann die App in Aufrufen verwenden, die an Microsoft Graph gesendet werden.The requested access token. The app can use this token in calls to Microsoft Graph.
token_typetoken_type Gibt den Tokentypwert an. Der einzige von Azure AD unterstützte Typ ist „Bearer“.Indicates the token type value. The only type that Azure AD supports is Bearer
expires_inexpires_in Gültigkeit des Zugriffstokens (in Sekunden).How long the access token is valid (in seconds).
scopescope Die Berechtigungen (Bereiche), für die das Zugriffstoken gültig ist.The permissions (scopes) that the access_token is valid for.
refresh_tokenrefresh_token Ein neues OAuth 2.0-Aktualisierungstoken. Ersetzen Sie das alte Aktualisierungstoken durch dieses neu abgerufene Aktualisierungstoken, um sicherzustellen, dass Ihre Aktualisierungstoken möglichst lange gültig bleiben.A new OAuth 2.0 refresh token. You should replace the old refresh token with this newly acquired refresh token to ensure your refresh tokens remain valid for as long as possible.

Unterstützte App-Szenarios und weitere RessourcenSupported app scenarios and additional resources

Sie können Microsoft Graph aus den folgenden Arten von Apps im Namen eines Benutzers aufrufen:You can call Microsoft Graph on behalf of a user from the following kinds of apps:

Weitere Informationen zu für den Microsoft Identity Platform-Endpunkt unterstützten App-Szenarios finden Sie unter App-Szenarios und Authentifizierungsflüsse.For more information about supported app scenarios with the Microsoft identity platform endpoint, see App scenarios and authentication flows.

Hinweis: Das Aufrufen von Microsoft Graph aus einer eigenständigen Web-API wird derzeit vom Microsoft Identity Platform-Endpunkt nicht unterstützt.Note: Calling Microsoft Graph from a standalone web API is not currently supported by the Microsoft identity platform endpoint. Für dieses Szenario müssen Sie den Azure AD-Endpunkt verwenden.For this scenario, you need to use the Azure AD endpoint.

Hier finden Sie weitere Informationen zum Zugreifen auf Microsoft Graph im Namen eines Benutzers über den Microsoft Identity Platform-Endpunkt:For more information about getting access to Microsoft Graph on behalf of a user from the Microsoft identity platform endpoint:

Überlegungen zum EndpunktEndpoint considerations

Microsoft wird weiterhin den Endpunkt Azure AD unterstützen.Microsoft continues to support the Azure AD endpoint. Es gibt einige Unterschiede zwischen der Verwendung des Microsoft Identity Platform-Endpunkts und des Azure AD-Endpunkts.There are several differences between using the Microsoft identity platform endpoint and the Azure AD endpoint. Bei der Verwendung des Azure AD-Endpunkts:When using the Azure AD endpoint:

  • Ihre App erfordert für jede Plattform eine andere Anwendungs-ID (Client-ID).Your app will require a different application ID (client ID) for each platform.
  • Wenn Ihre App mehrinstanzenfähig ist, müssen Sie sie im Azure-Portal explizit als mehrinstanzenfähig konfigurieren.If your app is a multi-tenant app, you must explicitly configure it to be multi-tenant at the Azure portal.
  • Alle Berechtigungen, die Ihre App benötigt, müssen vom Entwickler konfiguriert werden.All permissions that your app needs must be configured by the developer. Der Azure AD-Endpunkt unterstützt keine dynamische (inkrementelle) Zustimmung.The Azure AD endpoint does not support dynamic (incremental) consent.
  • Der Azure AD-Endpunkt verwendet einen resource-Parameter in Autorisierungs- und Tokenanforderungen zur Angabe der Ressource, z. B. Microsoft Graph, für die Berechtigungen benötigt werden. Der Parameter scope wird vom Endpunkt nicht unterstützt.The Azure AD endpoint uses a resource parameter in authorization and token requests to specify the resource, such as Microsoft Graph, for which it wants permissions. The endpoint does not support the scope parameter.
  • Der Azure AD-Endpunkt macht keinen bestimmten Endpunkt für die Administratorzustimmung verfügbar. Stattdessen verwenden Apps den Parameter prompt=admin_consent in der Autorisierungsanforderung, um die Zustimmung des Administrators für eine Organisation zu erhalten. Weitere Informationen finden Sie unter Auslösen von Azure AD-Consent Framework zur Laufzeit im Artikel Integrieren von Anwendungen in Azure Active Directory.The Azure AD endpoint does not expose a specific endpoint for administrator consent. Instead apps use the prompt=admin_consent parameter in the authorization request to obtain administrator consent for an organization. For more information, see Triggering the Azure AD consent framework at runtime in Integrating applications with Azure Active Directory.

Hier finden Sie weitere Informationen zum Zugreifen auf Microsoft Graph im Namen eines Benutzers über den Azure AD-Endpunkt:For more information about getting access to Microsoft Graph on behalf of a user from the Azure AD endpoint:

  • Weitere Informationen zur Verwendung des Microsoft Identity Platform-Endpunkts mit verschiedenen Arten von Anwendungen finden Sie unterErste Schritte-Links in der Microsoft Identity Platform Entwickler-Dokumentation.For information about using the Microsoft identity platform endpoint with different kinds of apps, see the Get Started links in the Microsoft identity platform developer documentation. Die Dokumentation enthält Links zu Übersichtsthemen, Schnellstartvorlagen, Lernprogramme, Codebeispiele und Protokolldokumentation für verschiedene Arten von Anwendungen, die vom Microsoft Identity Platform-Endpunkt unterstützt werden.The documentation contains links to overview topics, quickstarts, tutorials, code samples and protocol documentation for different kinds of apps supported by the Microsoft identity platform endpoint.
  • Informationen zur Microsoft Authentication Library (MSAL) und Servermiddleware für die Verwendung mit dem Microsoft Identity Platform-Endpunkt finden Sie unter Microsoft-Authentifizierungsbibliotheken.For information about the Microsoft Authentication Library (MSAL) and server middleware available for use with the Microsoft identity platform endpoint, see Microsoft Authentication Libraries.