Concessões do OAuth 2.0 - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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 do OAuth 2.0. Você pode definir os tipos de concessão compatíveis para cada cliente da aplicação no grupo de usuários. Não é possível habilitar concessões de credenciais do cliente no mesmo cliente de aplicação como concessões implícitas ou de código de autorização. As solicitações de concessões implícitas e de código de autorização começam em Autorizar endpoint, ao passo que as solicitações de concessões de credenciais de clientes começam em Endpoint de token.

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, defina response_type como code 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âmetro id_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, defina response_type como token 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 de acesso somente para autorização. machine-to-machine 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 autorização de API com servidores de recursos.

As concessões de credenciais do cliente adicionam custos à sua AWS fatura. 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 no Blog de segurança.AWS