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á.
Tokens de atualização
Você pode usar o token de atualização para recuperar novos tokens de ID e acesso. Por padrão, o token de atualização expira 30 dias depois que o usuário da aplicação fizer login no seu grupo de usuários. Ao criar uma aplicação para seu grupo de usuários, você pode definir a validade do token de atualização da aplicação em qualquer valor entre 60 minutos e 10 anos.
Obter novos tokens de acesso e identidade com um token de atualização
O Amazon Cognito emite tokens de atualização em resposta à autenticação bem-sucedida com o fluxo do código de autorização de login gerenciado e com operações de API ou métodos de SDK. O token de atualização retorna novos tokens de ID e acesso e, opcionalmente, um novo token de atualização. Você pode usar tokens de atualização das maneiras a seguir.
- GetTokensFromRefreshToken
-
A operação GetTokensFromRefreshTokenda API emite novos tokens de ID e acesso a partir de um token de atualização válido. Você também receberá um novo token de atualização se tiver habilitado a alternância de tokens de atualização.
- InitiateAuth and AdminitiateAuth
-
As operações InitiateAuthda API AdminInitiateAuthou incluem o fluxo de
REFRESH_TOKEN_AUTHautenticação. Nesse fluxo, você transmite um token de atualização e recebe novos tokens de ID e acesso. Não é possível autenticar comREFRESH_TOKEN_AUTHem clientes da aplicação com a alternância de tokens de atualização habilitada. - OAuth ponto final do token
-
O endpoint de token em grupos de usuários com um domínio tem um tipo de concessão
refresh_tokenque emite novos tokens de ID, tokens de acesso e, opcionalmente (com alternância de tokens de atualização), tokens de atualização com base em um token de atualização válido.
Alternância de tokens de atualização
Opcionalmente, é possível configurar a alternância de tokens de atualização no cliente da aplicação. Com a alternância de tokens de atualização, o cliente pode invalidar o token de atualização original e emitir um novo token de atualização a cada atualização de token. Quando essa configuração está habilitada, cada solicitação bem-sucedida em todas as formas de atualização de token retorna um novo token de ID, token de acesso e token de atualização. Quando essa configuração está desabilitada, as solicitações de atualização de token retornam somente novos tokens de acesso e ID, e o token de atualização original permanece válido. O novo token de atualização é válido pela duração restante do token de atualização original. É possível configurar clientes da aplicação para alternar os tokens de atualização ou manter o token de atualização original. Para permitir novas tentativas por um breve período, também é possível configurar um período de carência para o token de atualização original de até 60 segundos.
O que é importante saber sobre a alternância de tokens de atualização
-
Após habilitar a alternância de tokens de atualização, novas declarações são adicionadas aos tokens web JSON do grupo de usuários. As solicitações
origin_jtiejtisão adicionadas aos tokens de acesso e de ID. Essas reivindicações aumentam o tamanho do JWTs. -
A alternância de tokens de atualização não é compatível com o fluxo de autenticação
REFRESH_TOKEN_AUTH. Para implementar a rotação do token de atualização, você deve desativar esse fluxo de autenticação no seu cliente de aplicativo e projetar seu aplicativo para enviar solicitações de atualização de token com a operação de GetTokensFromRefreshTokenAPI ou o método SDK equivalente. -
Com a alternância de tokens de atualização inativa, você pode concluir solicitações de atualização do token com
GetTokensFromRefreshTokenouREFRESH_TOKEN_AUTH. -
Quando a memorização de dispositivos está ativa no grupo de usuários, é necessário fornecer a chave do dispositivo nas solicitações
GetTokensFromRefreshToken. Se o usuário não tiver uma chave de dispositivo confirmada que sua aplicação envia na solicitação de autenticação inicial, o Amazon Cognito emitirá uma nova. Para atualizar os tokens nessa configuração, é necessário fornecer uma chave de dispositivo, independentemente de ter especificado uma emAuthParametersou recebido uma nova na resposta de autenticação. -
Você pode transmitir
ClientMetadatapara o acionador do Lambda de pré-geração de tokens na solicitaçãoGetTokensFromRefreshToken. Esses dados, que são transmitidos para o evento de entrada do acionador, fornecem contexto adicional que você pode usar na lógica personalizada da função do Lambda.
Como prática recomendada de segurança, habilite a alternância de tokens de atualização nos clientes da aplicação.
Atualização de tokens de API e SDK
Há duas maneiras de usar o token de atualização para obter novos tokens de ID e acesso com a API de grupos de usuários, dependendo se a alternância de tokens de atualização está ativa. Em clientes de aplicativos com a rotação do token de atualização ativa, use a operação de GetTokensFromRefreshTokenAPI. Em clientes de aplicativos sem rotação de token de atualização, use o REFRESH_TOKEN_AUTH fluxo das operações AdminInitiateAuthou da InitiateAuthAPI.
nota
Os usuários podem se autenticar com grupos de usuários no login gerenciado ou em aplicativos personalizados que você cria com AWS SDKs as operações da API do Amazon Cognito. O fluxo REFRESH_TOKEN_AUTH e GetTokensFromRefreshToken podem concluir a atualização de token para usuários de login gerenciado. A atualização de token em aplicações personalizadas não afeta as sessões de login gerenciado. Essas sessões são definidas em um cookie do navegador e são válidas por 1 hora. A resposta GetTokensFromRefreshToken emite novos tokens de ID, de acesso e, opcionalmente, de atualização, mas não renova o cookie da sessão de login gerenciado.
REFRESH_TOKEN_AUTH não está disponível em clientes da aplicação com a alternância de tokens de atualização habilitada.
OAuth atualização de token
Você também pode enviar tokens de atualização para o Endpoint de token em um grupo de usuários em que configurou um domínio. No corpo da solicitação, inclua um valor grant_type de refresh_token e um valor refresh_token do token de atualização do usuário.
As solicitações para o endpoint do token estão disponíveis em clientes da aplicação com a alternância de tokens de atualização ativa e naqueles em que ela está inativa. Quando a alternância de tokens de atualização está ativa, o endpoint do token retorna um novo token de atualização.
Veja a seguir um exemplo de solicitação com um token de atualização.
POST /oauth2/token HTTP/1.1 Host:auth.example.comContent-Type: application/x-www-form-urlencoded Authorization: BasicZGpjOTh1M2ppZWRtaTI4M2V1OTI4OmFiY2RlZjAxMjM0NTY3ODkwContent-Length: ** client_id=1example23456789&grant_type=refresh_token&refresh_token=eyJjd123abcEXAMPLE
Como revogar tokens de atualização
Você pode revogar tokens de atualização que pertencem a um usuário. Para obter mais informações sobre revogação de tokens, consulte Encerrar sessões de usuário com revogação de token.
nota
A revogação do token de atualização revogará todos os tokens de ID e acesso que o Amazon Cognito emitiu de solicitações de atualização com esse token.
Para desconectar os usuários de toda a sessão atual conectada, revogue todos os seus tokens ou solicitações de API. GlobalSignOutAdminUserGlobalSignOut Depois que o usuário é desconectado, os seguintes efeitos acontecem:
-
O token de atualização do usuário não pode obter novos tokens para ele.
-
O token de acesso do usuário não pode fazer solicitações de API autorizadas por token.
-
O usuário precisa se autenticar novamente para obter novos tokens. Como os cookies de sessão de login gerenciado não expiram automaticamente, o usuário pode se autenticar novamente com um cookie de sessão, sem nenhuma solicitação adicional de credenciais. Após desconectar os usuários de login gerenciado, redirecione-os para o Endpoint de logout, onde o Amazon Cognito limpará o cookie da sessão.
Com os tokens de atualização, você pode manter as sessões dos usuários na aplicação por um longo tempo. Com o tempo, os usuários podem querer desautorizar algumas aplicações nas quais permaneceram conectados com seus tokens de atualização. Para desconectar o usuário de uma única sessão, revogue o token de atualização. Quando seu usuário quiser sair de todas as sessões autenticadas, gere uma solicitação de GlobalSignOutAPI. A aplicação pode oferecer ao usuário uma opção como Sair de todos os dispositivos. GlobalSignOut aceita o token de acesso válido/inalterado, não expirado e não revogado de um usuário. Como essa API é autorizada por token, um usuário não pode usá-la para iniciar a saída de outro usuário.
No entanto, você pode gerar uma solicitação de AdminUserGlobalSignOutAPI autorizada com suas AWS credenciais para desconectar qualquer usuário de todos os seus dispositivos. O aplicativo administrador deve chamar essa operação de API com credenciais de AWS desenvolvedor e passar o ID do grupo de usuários e o nome de usuário do usuário como parâmetros. A API AdminUserGlobalSignOut pode retirar qualquer usuário no grupo de usuários.
Para obter mais informações sobre solicitações que você pode autorizar com AWS credenciais ou com o token de acesso de um usuário, consulte. Lista de operações de API agrupadas por modelo de autorização