Concessões do OAuth 2.0
O servidor de autorização do OAuth 2.0 do grupo de usuários do Amazon Cognito emite tokens em resposta a três tipos de concessão de autorização
- Concessão de código de autorização
-
Em resposta a uma solicitação de autenticação bem-sucedida, o servidor de autorização anexa um código de autorização em um parâmetro
code
ao URL de retorno de chamada. Depois é necessário trocar o código para ID, acesso e tokens de atualização com o Endpoint de token. Para solicitar uma concessão de código de autorização, definaresponse_type
comocode
na solicitação. Para ver um exemplo de solicitação, consulte Concessão de código de autorização.A concessão de código de autorização é a forma mais segura de concessão de autorização. Ela não mostra o conteúdo do token diretamente aos usuários. Em vez disso, a aplicação é responsável por recuperar e armazenar com segurança os tokens do usuário. No Amazon Cognito, a concessão de código de autorização é a única maneira de obter todos os três tipos de token (ID, acesso e atualização) do servidor de autorização. Você também pode obter todos os três tipos de token da autenticação por meio da API de grupos de usuários do Amazon Cognito, mas a API não emite tokens de acesso com escopos diferentes de
aws.cognito.signin.user.admin
. - Concessão implícita
-
Em resposta a uma solicitação de autenticação bem-sucedida, o servidor de autorização anexa um token de acesso em um parâmetro
access_token
e um token de ID em um parâmetroid_token
ao URL de retorno de chamada. Uma concessão implícita não requer nenhuma interação adicional com o Endpoint de token. Para solicitar uma concessão implícita, definaresponse_type
comotoken
na solicitação. A concessão implícita gera apenas um ID e um token de acesso. Para ver um exemplo de solicitação, consulte Concessão de token sem escopo openid.A concessão implícita é uma concessão de autorização herdada. Diferentemente da concessão do código de autorização, os usuários podem interceptar e inspecionar seus tokens. Para evitar a entrega de tokens por meio de concessão implícita, configure o cliente da aplicação para aceitar somente a concessão de código de autorização.
- Credenciais do cliente
-
As credenciais do cliente são uma concessão somente de autorização para acesso de máquina a máquina. Para receber uma concessão de credenciais do cliente, ignore o Autorizar endpoint e gere uma solicitação diretamente para o Endpoint de token. O cliente da aplicação deve ter um segredo e aceitar apenas concessões de credenciais de cliente. Em resposta a uma solicitação bem-sucedida, o servidor de autorização retorna um token de acesso.
O token de acesso de uma concessão de credenciais do cliente é um mecanismo de autorização que contém escopos do OAuth 2.0. Normalmente, o token contém declarações de escopo personalizado que autorizam operações HTTP a acessar APIs protegidas. Para ter mais informações, consulte Escopos, M2M e APIs com servidores de recursos.
As concessões de credenciais do cliente adicionam custos à sua fatura da AWS. Para mais informações, consulte Preços do Amazon Cognito
.
Para obter mais perspectivas sobre essas concessões e sua implementação, consulte Como usar o OAuth 2.0 no Amazon Cognito: Saiba mais sobre as diferentes concessões do OAuth 2.0