Tipo de Concessão de Credenciais do Cliente

Use esse tipo de concessão quando o escopo de autorização for limitado aos recursos protegidos sob controle do cliente ou aos recursos protegidos registrados no Servidor de Autorização OAuth.

O diagrama a seguir exibe o fluxo Tipo de Concessão de Credenciais do Cliente.

Um diagrama que ilustra o fluxo Tipo de Concessão de Credenciais do Cliente.

Neste fluxo OAuth:

  1. Um evento iniciado pelo cliente (por exemplo, uma atualização em segundo plano programada para um aplicativo em seu dispositivo móvel) solicita acesso a um recurso protegido de um aplicativo cliente OAuth.

  2. O aplicativo cliente apresenta suas próprias credenciais para obter um token de acesso e, geralmente, um token de atualização. Esse token de acesso está associado aos recursos próprios do cliente, e não a um proprietário de recurso específico, ou está associado a um proprietário de recurso para quem o aplicativo cliente está autorizado a agir.

  3. O Servidor de Autorização retorna o token de acesso ao aplicativo cliente.

  4. O aplicativo cliente usa o token de acesso em uma chamada de API para atualizar o aplicativo no seu dispositivo.

Função Disponíveis
Requer autenticação de cliente Sim
Exige que o cliente saiba as credenciais do usuário No
Interação do usuário final baseada em navegador No
Pode usar um Provedor de Identidades externo para autenticação No
O token de atualização é permitido No
O token de acesso está no contexto do aplicativo cliente Sim

Consulte Exemplo de Fluxo de Autorização do Tipo de Concessão de Credenciais do Cliente para obter um exemplo de fluxo.

Exemplo de Fluxo de Autorização do Tipo de Concessão de Credenciais do Cliente

O tipo de concessão Credenciais do Cliente fornece um fluxo de concessão específico no qual o Proprietário do Recurso não está envolvido. Neste exemplo de cenário, o aplicativo cliente está executando processos que não têm a participação do Proprietário do Recurso, por exemplo, um processo em batch ou uma tarefa servidor a servidor.

Ao usar essa concessão, o aplicativo cliente solicita um token de acesso com suas próprias credenciais (o ID e o segredo) ou uma asserção e usa o token de acesso em nome do próprio aplicativo cliente. Esse fluxo de concessão é mais adequado quando um Provedor de Serviços deseja fornecer alguns métodos de API que devem ser usados pelo aplicativo cliente em geral, em vez de métodos que se aplicam a um determinado Proprietário de Recursos, por exemplo, métodos de API para manutenção.

Quando você cria um aplicativo usando o tipo de concessão Credenciais do Cliente na Console do domínio de identidades:

  • Especifique Aplicativo Confiável como o tipo de aplicativo, porque um aplicativo móvel/navegador não tem um segredo do cliente e não pode usar a concessão Credenciais do Cliente.

  • Selecione Credenciais do Cliente como o tipo de concessão.

Consulte Tipo de Concessão de Credenciais do Cliente para obter mais informações sobre o tipo de concessão de Credenciais do Cliente e um fluxograma de autorização.

Fluxo de Autorização

  1. Um evento iniciado pelo cliente (por exemplo, uma tarefa programada) solicita acesso a recursos protegidos de um aplicativo cliente OAuth.

    O URL do evento contém parâmetros de consulta que indicam o tipo de acesso que está sendo solicitado:

    Exemplo de Solicitação Usando o Cabeçalho de Autorização

       curl -i
       -H 'Authorization: Basic <base64Encoded clientid:secret>'
       -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
       --request POST https://<domainURL>/oauth2/v1/token 
       -d 'grant_type=client_credentials&scope=<scope value>'

    Exemplo de Solicitação Usando uma Asserção de Cliente JWT

       curl -i
       -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
       --request POST https://<domainURL>/oauth2/v1/token 
       -d 'grant_type=client_credentials&client_id=<client-id>&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=<client-assertion>&scope=<scope value>'
  2. O aplicativo cliente solicita um token de acesso do Servidor de Autorização OAuth.
  3. O Servidor de Autorização OAuth autentica o aplicativo cliente com base no cabeçalho de Autorização ou na asserção enviada e retorna um token de acesso contendo todos os escopos aplicáveis com base nos privilégios representados pelas atribuições de aplicativo concedidas ao aplicativo cliente solicitante.
  4. O aplicativo cliente usa o token de acesso para executar uma solicitação.