Ir para o conteúdo

Por que recebo o erro "Invalid Refresh Token" na minha API de grupo de usuários do Cognito?

3 minuto de leitura
0

Quero solucionar o erro "Invalid Refresh Token" na minha API de grupo de usuários do Amazon Cognito.

Resolução

Você usou um ID de cliente de aplicação diferente do token de atualização

Quando um usuário se autentica com a API AdminInitiateAuth, a API InitiateAuth ou a interface de usuário hospedada, o ID do cliente da aplicação serve como o parâmetro ClientId. Se você usar um ID de cliente de aplicação diferente do que emitiu o token de atualização, a API retornará um erro de "Invalid Refresh Token".

Para resolver esse erro, use o mesmo ID do cliente da aplicação que emitiu o token de atualização original ao chamar a API AdminInitiateAuth ou InitiateAuth.

Você tem um dispositivo não confirmado com o rastreamento de dispositivos ativado

Se você ativar o rastreamento de dispositivo para um grupo de usuários, mas não confirmar o dispositivo, receberá o erro "Invalid Refresh Token" ao tentar obter novos tokens.

Para resolver esse erro, chame a API ConfirmDevice para confirmar o dispositivo e iniciar o rastreamento do dispositivo. Em seguida, use o token de atualização para obter novos tokens de acesso e ID. Para obter mais informações, consulte Como configurar dispositivos memorizados.

Você tem uma chave de dispositivo ausente nos parâmetros de autenticação

Quando você ativa o rastreamento de dispositivo para um grupo de usuários, o Amazon Cognito retorna uma chave de dispositivo exclusiva após a autenticação bem-sucedida. Para obter novos tokens com um token de atualização, inclua a chave do dispositivo na seguinte solicitação de autenticação:

{  "AuthFlow": "REFRESH_TOKEN_AUTH",
  "AuthParameters": {
    "REFRESH_TOKEN": "example_refresh_token",
    "SECRET_HASH": "example_secret_hash",  
    "DEVICE_KEY": "example_device_key"
  }
}

Observação: substitua example_refresh_token, example_secret_hash e example_device_key por seus próprios valores.

Se o cliente de aplicação usa um segredo de cliente, inclua o parâmetro SECRET_HASH nos AuthParameters. Isso verifica se a solicitação vem da sua aplicação.

Se a chave do dispositivo não passar como um dos AuthParameters, você receberá o erro "Invalid Refresh Token". Para resolver o erro, inclua a chave do dispositivo como AuthParameters na API AdminInitiateAuth ou InitiateAuth.

Você tem o rastreamento de dispositivos ativado, mas usa o fluxo de autenticação USER_PASSWORD_AUTH

Ao usar o fluxo de autenticação USER_PASSWORD_AUTH com o rastreamento de dispositivos ativado no grupo de usuários, você recebe os tokens de acesso, ID e atualização. No entanto, se tentar obter novos tokens com o token de atualização, receberá o erro "Invalid Refresh Token". O fluxo USER_PASSWORD_AUTH não suporta a atualização de token quando você ativa o rastreamento de dispositivo.

Para resolver esse erro, use o fluxo de autenticação USER_SRP_AUTH e, em seguida, atualize os tokens.

Informações relacionadas

Tokens de atualização

Autenticação com grupos de usuários do Amazon Cognito

Configurações específicas da aplicação com clientes de aplicação

Tracking and remembering devices using Amazon Cognito Your User Pools (Rastrear e lembrar dispositivos usando seus grupos de usuários do Amazon Cognito)

AWS OFICIALAtualizada há 6 meses