Créer oAuth2PermissionGrant (octroi d’autorisations déléguées)

Espace de noms: microsoft.graph

Créez un octroi d’autorisation délégué représenté par un objet oAuth2PermissionGrant .

Une autorisation déléguée autorise un principal de service client (représentant une application cliente) à accéder à un principal de service de ressources (représentant une API), au nom d’un utilisateur connecté, pour le niveau d’accès limité par les autorisations déléguées qui ont été accordées.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) DelegatedPermissionGrant.ReadWrite.All Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application DelegatedPermissionGrant.ReadWrite.All Directory.ReadWrite.All

Requête HTTP

POST /oauth2PermissionGrants

En-têtes de demande

Nom Type Description
Autorisation string Porteur {token}. Obligatoire.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON d’un objet oAuth2PermissionGrant .

Réponse

Si elle réussit, cette méthode renvoie un code de réponse de série 200 et un nouvel objet oAuth2PermissionGrant dans le corps de la réponse. Le tableau suivant répertorie les propriétés requises lorsque vous créez le oAuth2PermissionGrant.

Propriété Type Description
clientId Chaîne ID d’objet (et nonappId) du principal de service client pour l’application qui est autorisée à agir au nom d’un utilisateur connecté lors de l’accès à une API. Obligatoire.
consentType Chaîne Indique si l’autorisation est accordée à l’application cliente pour emprunter l’identité de tous les utilisateurs ou uniquement d’un utilisateur spécifique. AllPrincipals indique l’autorisation d’emprunter l’identité de tous les utilisateurs. Principal indique l’autorisation d’emprunter l’identité d’un utilisateur spécifique. Le consentement au nom de tous les utilisateurs peut être accordé par un administrateur. Les utilisateurs non administrateurs peuvent être autorisés à donner leur consentement en leur nom dans certains cas, pour certaines autorisations déléguées. Obligatoire.
principalId Chaîne ID de l’utilisateur au nom duquel le client est autorisé à accéder à la ressource, lorsque consentType a la valeur Principal. Si consentType a la valeur AllPrincipals , cette valeur est null. Obligatoire lorsque consentType a la valeur Principal.
resourceId String ID du principal de service de ressource auquel l’accès est autorisé. Cela identifie l’API que le client est autorisé à tenter d’appeler au nom d’un utilisateur connecté.
étendue Chaîne Liste séparée par des espaces des valeurs de revendication pour les autorisations déléguées qui doivent être incluses dans les jetons d’accès pour l’application de ressource (l’API). Par exemple : openid User.Read GroupMember.Read.All. Chaque valeur de revendication doit correspondre au champ valeur de l’une des autorisations déléguées définies par l’API, répertoriées dans la propriété oauth2PermissionScopes du principal du service de ressources. Ne doit pas dépasser 3850 caractères.

Exemple

Demande

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"
}

Réponse

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"
}