Tipos de concessão
Um tipo de concessão indica o mecanismo de autorização que o cliente utiliza para obter o token de identificação e o token de acesso de Verify. Você pode escolher entre código de autorização, implícito, código de autorização e implícito, fluxo de dispositivo, credenciais do proprietário do recurso, JWT, autorização baseada em contexto, token de atualização e troca de token.
| Características | Código de autorização | Implícito | Código de autorização e implícito |
|---|---|---|---|
| Descrição | O terminal de autorização A autenticação do cliente é necessária usando um ID do cliente e o segredo para recuperar o token de ID ou o token de acesso do terminal de token É o fluxo mais comumente usado. |
O terminal de autorização Ele não usa um código de autorização ou um terminal do token |
Permite que o cliente de front-end e de back-end receba tokens, independentemente um do outro. O cliente obtém um código de autorização e tokens por meio do terminal de autorização
|
| Caso de uso | Use para clientes que podem manter seguramente um segredo do cliente, como aplicativos da web e aplicativos móveis nativos. O objetivo é autenticar o usuário e o cliente. |
Use para clientes que não podem manter um segredo do cliente, tal como o navegador ou aplicativos baseados em JavaScript. Ele é destinado a autenticar o usuário. |
Use para clientes que:
|
| O valor do tipo de resposta |
|
|
|
| Todos os tokens são retornados do terminal de autorização. | Não | Sim | Não |
| Todos os tokens são retornados do terminal de token. | Sim | Não | Não |
| Os tokens não são revelados ao agente do usuário. | Sim | Não | Não |
| O aplicativo cliente pode ser autenticado. | Sim | Não | Sim |
| Gerar tokens de atualização. | Sim | Não | Sim |
| Comunicação em um roundtrip | Não | Sim | Não |
| Maioria da comunicação servidor-para-servidor | Sim | Não | varia |
| Sugestão de login (login_hint) | Sim Esse valor pode ser o nome de usuário como uma string, por exemplo,
john@ibm.com, ou um JSON, por exemplo,. Ao usar um valor JSON, a região representa a região de origem de identidade. |
Sim Esse valor pode ser o nome de usuário como uma string, por exemplo,
john@ibm.com, ou um JSON, por exemplo,. Ao usar um valor JSON, a região representa a região de origem de identidade. |
Sim Esse valor pode ser o nome de usuário como uma string, por exemplo,
john@ibm.com, ou um JSON, por exemplo,. Ao usar um valor JSON, a região representa a região de origem de identidade. |
| Idade máxima de autenticação (max_age) | Este valor representa o tempo decorrido permitido, em segundos, desde a última vez que o usuário foi ativamente autenticado. Este atributo se aplica somente às sessões de login do Cloud Directory. | Este valor representa o tempo decorrido permitido, em segundos, desde a última vez que o usuário foi ativamente autenticado. Este atributo se aplica somente às sessões de login do Cloud Directory. | Este valor representa o tempo decorrido permitido, em segundos, desde a última vez que o usuário foi ativamente autenticado. Este atributo se aplica somente às sessões de login do Cloud Directory. |
| Fluxo de trabalho |
|
|
|
| Características | Fluxo de dispositivo | Credenciais de Senha do Proprietário do Recurso | JWT |
|---|---|---|---|
| Descrição | Ele permite que o cliente seja autorizado usando um Código Quick Response ou um código do usuário que é enviado para uma URL. | A autenticação do cliente e do usuário é necessária usando um ID de cliente, um segredo do cliente, um nome do usuário e uma senha para recuperar o token de acesso e o token de ID do terminal de token /token. O nome do usuário e a senha são validados no Cloud Directory. | Definido em RFC7523. Permite que um cliente apresente um JWT assinado, criptografado ou assinado e criptografado em troca de uma concessão. O JWT é validado pelo servidor de autorização e a identidade dentro do JWT é utilizada como o sujeito da concessão. |
| Caso de uso | Use para clientes que:
|
Esse tipo de concessão pode ser ativado, mas use-o somente se nenhum outro fluxo estiver disponível. Ele pode ser usado para:
|
Há um relacionamento de confiança estabelecido entre o servidor de autorização (Verify) e uma entidade, que emite JWTs. O cliente obtém um JWT da entidade emissora de JWT para apresentá-lo ao servidor de autorização em troca de uma concessão. A entidade emissora de JWT pode ter seus próprios requisitos, que devem ser atendidos antes da emissão de JWT (como verificações alternativas de autenticação e autorização). |
| O valor do tipo de resposta | Não-aplicável | Não-aplicável | Não-aplicável |
| Todos os tokens são retornados do terminal de autorização. | Não | Não | Não |
| Todos os tokens são retornados do terminal de token. | Sim | Sim | Sim |
| Os tokens não são revelados ao agente do usuário. | Sim | Sim | Sim |
| O aplicativo cliente pode ser autenticado. | Sim | Sim | Sim |
| Gerar tokens de atualização. | Sim | Sim | Sim |
| Comunicação em um roundtrip | |||
| Maioria da comunicação servidor-para-servidor | |||
| Sugestão de login (login_hint) | Não | Não | Não |
| Idade máxima de autenticação (max_age) | Não-aplicável | ||
| Fluxo de trabalho |
|
|
|
| Características | Autorização baseada em contexto | Token de Atualização | Troca de token |
|---|---|---|---|
| Descrição | Um fluxo acionado pela API em que as verificações adicionais de autenticação e autorização são executadas. Antes que uma concessão seja emitida para o cliente, a autenticação de diversos fatores pode ser necessária. | É necessária a autenticação do cliente e do usuário por meio de um ID de cliente, um segredo de cliente e um token de atualização para recuperar um novo conjunto de token de acesso, token de identificação e token de atualização do endpoint de tokens /token. O token de atualização deve pertencer ao mesmo ID de cliente. Os valores dos atributos associados ao token não são atualizados durante este fluxo. | Definido em RFC8693. Permite que um cliente apresente um token para troca por outro token. |
| Caso de uso |
|
Use este tipo de autorização para obter um novo conjunto de tokens de acesso, com prazo de validade renovado. Isso permite que a validade do token de acesso seja curta, mas não exigirá que o usuário faça login novamente para obter um novo token de acesso. |
|
| O valor do tipo de resposta | Não-aplicável | Não-aplicável | Não-aplicável |
| Todos os tokens são retornados do terminal de autorização. | Não | Não | Não |
| Todos os tokens são retornados do terminal de token. | Sim | Sim | Sim |
| Os tokens não são revelados ao agente do usuário. | Sim | Sim | Sim |
| O aplicativo cliente pode ser autenticado. | Sim | Sim | Sim |
| Gerar tokens de atualização. | Sim | Sim | Sim |
| Comunicação em um roundtrip | Sim | ||
| Maioria da comunicação servidor-para-servidor | Sim | ||
| Sugestão de login (login_hint) | Não | Não | Não |
| Idade máxima de autenticação (max_age) | Não-aplicável | Não | |
| Fluxo de trabalho |
Nota:
|
|
|