Como usar o token de atualização - 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á.

Como usar o token 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.

O Mobile SDK for iOS, Mobile SDK for Android, Amplify para iOS, Android e Flutter atualizarão automaticamente seu tokens de ID e de acesso se um token de atualização válido (não expirado) estiver presente. Os tokens de ID e de acesso têm uma validade mínima restante de dois minutos. Se o token de atualização tiver expirado, o usuário da aplicação precisará se reautenticar fazendo login novamente no grupo de usuários. Se o mínimo para o token de acesso e o token de ID estiver definido para 5 minutos, e você estiver usando o SDK, o token de atualização será usado continuamente para recuperar novos tokens de acesso e ID. Você verá o comportamento esperado em no mínimo 7 minutos ao invés de 5 minutos.

A conta do usuário em si nunca expira, desde que o usuário tenha feito login pelo menos uma vez antes do limite de tempo UnusedAccountValidityDays para novas contas.

Obter novos tokens de acesso e identidade com um token de atualização

Use a API ou a UI hospedada para iniciar a autenticação de tokens de atualização.

Para usar o token de atualização para obter novos tokens de ID e acesso com a API de grupos de usuários, use as operações da InitiateAuthAPI AdminInitiateAuthou. Transmita REFRESH_TOKEN_AUTH para o parâmetro AuthFlow. Na propriedade AuthParameters de AuthFlow, transmita o token de atualização do usuário como o valor de "REFRESH_TOKEN". O Amazon Cognito retorna novos tokens de ID e acesso depois que sua solicitação à API passar por todos os desafios.

nota

Para usar a API de grupos de usuários do Amazon Cognito a fim de atualizar tokens para um usuário de interface de usuário hospedado, gere uma solicitação InitiateAuth.

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.

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 Como revogar tokens.

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.

Os usuários podem sair de todos os dispositivos em que estão conectados quando você revoga todos os tokens dos usuários usando as operações de API GlobalSignOut e AdminUserGlobalSignOut. 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 interface de usuário hospedados não expiram automaticamente, o usuário pode se autenticar novamente com um cookie de sessão, sem nenhuma solicitação adicional de credenciais. Depois de desconectar os usuários de interface de usuário hospedados, redirecione-os para o Endpoint de logout, em que 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, talvez os usuários queiram desautorizar alguns dispositivos nos quais fizeram login, atualizando continuamente a sessão. Para desconectar o usuário em um único dispositivo, 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 dispositivosGlobalSignOut 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. Operações de API autenticadas e não autenticadas de grupos de usuários do Amazon Cognito