Criar oAuth2PermissionGrant (uma concessão de permissão delegada)

Namespace: microsoft.graph

Crie uma concessão de permissão delegada representada por um objeto oAuth2PermissionGrant .

Uma concessão de permissão delegada autoriza uma entidade de serviço de cliente (que representa um aplicativo cliente) a acessar uma entidade de serviço de recurso (que representa uma API), em nome de um usuário conectado, para o nível de acesso limitado pelas permissões delegadas que foram concedidas.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) DelegatedPermissionGrant.ReadWrite.All, Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Aplicativo DelegatedPermissionGrant.ReadWrite.All, Directory.ReadWrite.All

Solicitação HTTP

POST /oauth2PermissionGrants

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON de um objeto oAuth2PermissionGrant .

Resposta

Se bem-sucedido, este método retorna um código de resposta da série 200 e um novo objeto oAuth2PermissionGrant no corpo da resposta. A tabela a seguir mostra as propriedades que são necessárias ao criar o oAuth2PermissionGrant.

Propriedade Tipo Descrição
clientId Cadeia de caracteres A ID da entidade de serviço do cliente para o aplicativo que está autorizado a agir em nome de um usuário conectado ao acessar uma API. Obrigatório.
consentType String Indica se a autorização é concedida para que o aplicativo cliente represente todos os usuários ou apenas um usuário específico. AllPrincipals indica autorização para representar todos os usuários. A entidade de segurança indica autorização para representar um usuário específico. O consentimento em nome de todos os usuários pode ser concedido por um administrador. Usuários não administradores podem estar autorizados a consentir em nome de si mesmos em alguns casos, para algumas permissões delegadas. Obrigatório.
principalId String A ID do usuário em nome do qual o cliente está autorizado a acessar o recurso, quando consentType é Principal. Se consentType for AllPrincipals , esse valor será nulo. Obrigatório quando consentType é Principal.
resourceId Cadeia de caracteres A ID da entidade de serviço de recurso à qual o acesso está autorizado. Isso identifica a API que o cliente está autorizado a tentar chamar em nome de um usuário conectado.
escopo String Uma lista separada por espaço dos valores de declaração para permissões delegadas que devem ser incluídos em tokens de acesso para o aplicativo de recurso (a API). Por exemplo, openid User.Read GroupMember.Read.All. Cada valor de declaração deve corresponder ao campo de valor de uma das permissões delegadas definidas pela API, listadas na propriedade oauth2PermissionScopes da entidade de serviço de recurso.

Exemplo

Solicitação

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

Resposta

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