Erhalten Sie Zugriff auf die API mit Benutzerkontext
In diesem Artikel wird beschrieben, wie Sie eine Anwendung erstellen, um programmgesteuerten Zugriff auf die Microsoft Managed Desktop-API im Namen eines Benutzers zu erhalten.
Für den API-Zugriff ist eine OAuth2.0-Authentifizierung erforderlich. Weitere Informationen finden Sie unter OAuth 2.0-Autorisierungscodefluss.
So konfigurieren Sie einen Dienst und rufen ein Zugriffstoken ab:
- Erstellen und registrieren Sie eine Microsoft Entra Anwendung.
- Konfigurieren Sie Berechtigungen für Microsoft Managed Desktop für Ihre App.
- Einholen der Administratorzustimmung
- Rufen Sie mithilfe dieser Anwendung ein Zugriffstoken ab.
- Verwenden Sie das Token für den Zugriff auf die Microsoft Managed Desktop-API.
App erstellen
Um sich beim Microsoft Identity Platform-Endpunkt zu authentifizieren, müssen Sie Ihre App zuerst im Azure-App-Registrierungsportal registrieren.
Für einen Dienst, der die Microsoft Managed Desktop-API unter seiner eigenen Identität aufruft, müssen Sie Ihre App für die Webplattform registrieren und die folgenden Werte kopieren:
- Die Anwendung-ID, die vom Azure-App-Registrierungsportal zugewiesen wurde.
- Ein geheimer Clientschlüssel oder ein Anwendungsgeheimnis, entweder ein Kennwort oder ein öffentliches/privates Schlüsselpaar (Zertifikat).
- Eine Umleitungs-URL, damit der Dienst Tokenantworten empfangen kann.
Schritte zum Konfigurieren einer App mit dem Azure-App-Registrierungsportal finden Sie unter Apps registrieren.
Mit dem Flow zur Gewährung von OAuth 2.0-Clientanmeldeinformationen authentifiziert sich Ihre App direkt am Microsoft Identity Platform Endpunkt mithilfe der von Microsoft Entra ID zugewiesenen Anwendungs-ID und des geheimen Clientschlüssels, den Sie über das Portal erstellen.
Konfigurieren von Berechtigungen
So konfigurieren Sie delegierte Berechtigungen für Ihre App im Azure-Portal für App-Registrierungen:
- Wählen Sie auf der Seite mit den API-Berechtigungen Ihrer Anwendung Berechtigungs-APIs > hinzufügen aus, die mein organization verwendet>, typ Modern Workplace Kunden-APIs > wählen Sie Modern Workplace Customer APIs aus.
- Wählen Sie Delegierte Berechtigungen > MWaaSDevice.Read und dann Berechtigungen hinzufügen aus.
- Um zusätzliche delegierte Berechtigungen für Ihre App im Azure-App-Registrierungsportal zu konfigurieren, wählen Sie auf der Seite API-Berechtigungen Ihrer Anwendung Berechtigung >hinzufügen die Option Microsoft Graph aus.
- Wählen Sie Delegierte Berechtigungen > aus , wählen Sie offline_access und openid aus, und wählen Sie dann Berechtigungen hinzufügen aus.
Abrufen eines Zugriffstokens
Im Fluss zur Gewährung von OAuth 2.0-Clientanmeldeinformationen verwenden Sie die Werte für Anwendungs-ID und den geheimen Clientschlüssel, die Sie beim Registrieren der App gespeichert haben, um ein Zugriffstoken direkt vom Microsoft Identity Platform/token
-Endpunkt anzufordern.
Der erste Schritt zum Abrufen eines Zugriffstokens für den OAuth 2.0-Autorisierungscodeflow besteht darin, den Benutzer an den Microsoft Identity Platform-Endpunkt /authorize
umzuleiten. Microsoft Entra ID melden den Benutzer an und fordern ihre Zustimmung für die berechtigungen an, die Ihre App anfordert. Im Autorisierungscode-Genehmigungsflow geben Microsoft Entra ID nach Erhalt der Zustimmung eine authorization_code
an Ihre App zurück, die sie am Microsoft Identity Platform/Tokenendpunkt für ein Zugriffstoken einlösen kann.
Autorisierungsanforderung
Im Fluss zur Gewährung von OAuth 2.0-Clientanmeldeinformationen verwenden Sie die Werte für Anwendungs-ID und den geheimen Clientschlüssel, die Sie beim Registrieren der App gespeichert haben, um ein Zugriffstoken direkt vom Microsoft Identity Platform/token
-Endpunkt anzufordern.
https://login.microsoftonline.com/{tenantId}/oauth2/authorize
Parameter | Bedingung | Beschreibung |
---|---|---|
tenantId | Erforderlich | Die Microsoft Entra ID des Mandanten. |
client_id | Erforderlich | Die Anwendungs-ID, die Bei der Registrierung Ihrer App zugewiesen wurde. |
Bereich | Erforderlich | Muss enthalten sein: openid offline_access https://mwaas-services-customerapi-prod.azurewebsites.net/.default |
grant_type | Erforderlich | Muss client_credential sein. |
response_type | Erforderlich | Muss Code sein. |
redirect_uri | Empfohlen | Die redirect_uri Ihrer App, in der Authentifizierungsantworten von Ihrer App gesendet und empfangen werden können. Sie muss genau mit einer der übereinstimmen, die redirect_uris Sie im App-Registrierungsportal registriert haben. |
Autorisierungsantwort
Wenn der Benutzer den von der App angeforderten Berechtigungen zustimmt, enthält die Antwort den Autorisierungscode im Codeparameter.
Tokenanforderung
Wenn der Benutzer den von der App angeforderten Berechtigungen zustimmt, enthält die Antwort den Autorisierungscode im Codeparameter.
https://login.microsoftonline.com/{tenantId}/oauth2/token
Parameter | Bedingung | Beschreibung |
---|---|---|
tenantId | Erforderlich | Die Microsoft Entra ID des Mandanten. |
client_id | Erforderlich | Die Anwendungs-ID, die Bei der Registrierung Ihrer App zugewiesen wurde. |
Bereich | Erforderlich | Muss https://mwaas-services-customerapi-prod.azurewebsites.net/.default sein. |
client_secret | Erforderlich | Der geheime Clientschlüssel, den Sie für Ihre App im App-Registrierungsportal generiert haben. |
grant_type | Erforderlich | Muss authorization_code sein. |
Code | Erforderlich | Der Autorisierungscode, der im Rahmen der Autorisierungsanforderung abgerufen wird. |
Tokenantwort
Eine erfolgreiche JSON-Antwort sieht wie folgt aus:
{
"token_type": "Bearer",
"expires_in": "3599",
"access_token": "access_token"
}
Parameter | Beschreibung |
---|---|
access_token | Das angeforderte Zugriffstoken. Ihre App kann dieses Token in Aufrufen der API verwenden. |
token_type | Muss Träger sein. |
expires_in | Gültigkeit des Zugriffstokens (in Sekunden). |
Verwenden des Tokens für den Zugriff auf die Microsoft Managed Desktop-API
- Wählen Sie die API aus, die Sie verwenden möchten.
- Legen Sie den Autorisierungsheader in der HTTP-Anforderung fest, die Sie an "Bearer {token}" senden (Bearer ist das Autorisierungsschema).