Erstellen von "oAuth2PermissionGrant" (delegierte Berechtigungserteilung)

Namespace: microsoft.graph

Erstellen Sie eine delegierte Berechtigungserteilung, dargestellt durch ein oAuth2PermissionGrant-Objekt .

Eine delegierte Berechtigungserteilung autorisiert einen Clientdienstprinzipal (eine Clientanwendung darstellend) für den Zugriff auf einen Ressourcendienstprinzipal (der eine API darstellt) im Namen eines angemeldeten Benutzers für die Zugriffsebene, die durch die delegierten Berechtigungen beschränkt ist, die erteilt wurden.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) DelegatedPermissionGrant.ReadWrite.All, Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung DelegatedPermissionGrant.ReadWrite.All, Directory.ReadWrite.All

HTTP-Anforderung

POST /oauth2PermissionGrants

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung eines oAuth2PermissionGrant-Objekts an.

Antwort

Bei erfolgreicher Ausführung gibt die Methode den Antwortcode der 200-Serie und ein neues oAuth2PermissionGrant-Objekt im Antworttext zurück. In der folgenden Tabelle sind die Eigenschaften aufgeführt, die angegeben werden müssen, wenn Sie oAuth2PermissionGrant erstellen.

Eigenschaft Typ Beschreibung
clientId Zeichenfolge Die ID des Clientdienstprinzipals für die Anwendung, die berechtigt ist, beim Zugriff auf eine API im Namen eines angemeldeten Benutzers zu handeln. Erforderlich.
consentType Zeichenfolge Gibt an, ob der Clientanwendung die Autorisierung erteilt wird, um die Identität aller Benutzer oder nur eines bestimmten Benutzers zu imitieren. AllPrincipals gibt die Autorisierung für den Identitätswechsel aller Benutzer an. Principal gibt die Autorisierung für den Identitätswechsel eines bestimmten Benutzers an. Die Zustimmung im Namen aller Benutzer kann von einem Administrator erteilt werden. Benutzer, die keine Administratoren sind, können in einigen Fällen für einige delegierte Berechtigungen berechtigt sein, im Namen von sich selbst zuzustimmen. Erforderlich.
principalId Zeichenfolge Die ID des Benutzers , für den der Client für den Zugriff auf die Ressource autorisiert ist, wenn consentType der Prinzipal ist. Wenn consentType allPrincipals ist, ist dieser Wert null. Erforderlich, wenn consentType prinzipal ist.
resourceId String Die ID des Ressourcendienstprinzipals , für den der Zugriff autorisiert ist. Dadurch wird die API identifiziert, die der Client berechtigt ist, im Namen eines angemeldeten Benutzers aufzurufen.
scope String Eine durch Leerzeichen getrennte Liste der Anspruchswerte für delegierte Berechtigungen, die in Zugriffstoken für die Ressourcenanwendung (die API) eingeschlossen werden sollten. Beispiel: openid User.Read GroupMember.Read.All. Jeder Anspruchswert sollte mit dem Wertfeld einer der von der API definierten delegierten Berechtigungen übereinstimmen, die in der oauth2PermissionScopes-Eigenschaft des Ressourcendienstprinzipals aufgeführt sind.

Beispiel

Anforderung

POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
Content-Type: application/json

{
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#oauth2PermissionGrants/$entity",
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "id": "l5eW7x0ga0-WDOntXzHateQDNpSH5-lPk9HjD3Sarjk",
    "principalId": null,
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}