Salta al contenuto

Perché ricevo l'errore "Invalid Refresh Token" nell'API del mio pool di utenti Cognito?

3 minuti di lettura
0

Desidero risolvere un errore "Invalid Refresh Token" nell'API del mio pool di utenti Amazon Cognito.

Risoluzione

Hai utilizzato un ID del client dell'app diverso rispetto al token di aggiornamento

Quando un utente si autentica con l'API AdminInitiateAuth, l'API InitiateAuth o l'interfaccia utente ospitata, l'ID del client dell'app funge da parametro ClientId. Se utilizzi un ID del client dell'app diverso da quello che ha emesso il token di aggiornamento, l'API restituisce un errore "Invalid Refresh Token".

Per risolverlo, utilizza lo stesso ID ddl client dell'app che ha emesso il token di aggiornamento originale quando chiami l'API AdminInitiateAuth o InitiateAuth.

Hai un dispositivo non confermato con il monitoraggio del dispositivo attivato

Se attivi il monitoraggio del dispositivo per un pool di utenti ma non confermi il dispositivo, ricevi l'errore "Invalid Refresh Token" quando tenti di ottenere nuovi token.

Per risolvere l'errore, chiama l'API ConfirmDevice per confermare il dispositivo e avviarne il monitoraggio. Quindi utilizza il token di aggiornamento per ottenere nuovi token di accesso e ID. Per ulteriori informazioni, consulta Configurazione dei dispositivi memorizzati.

Manca una chiave del dispositivo nei parametri di autenticazione

Quando attivi il monitoraggio del dispositivo per un pool di utenti, Amazon Cognito restituisce una chiave univoca del dispositivo una volta riuscita l'autenticazione. Per ottenere nuovi token con un token di aggiornamento, includi la chiave del dispositivo nella seguente richiesta di autenticazione:

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

Nota: sostituisci example_refresh_token, example_secret_hash e example_device_key con i tuoi valori.

Se il client dell'app utilizza un segreto client, includi il parametro SECRET_HASH in AuthParameters. Ciò verifica che la richiesta provenga effettivamente dall'applicazione.

Se la chiave del dispositivo non viene utilizzata come AuthParameters, ricevi l'errore "Invalid Refresh Token". Per risolverlo, assicurati di includere la chiave del dispositivo come AuthParameters nell'API AdminInitiateAuth o InitiateAuth.

Il monitoraggio del dispositivo è attivato, ma il token di aggiornamento ha un flusso di autenticazione

Il flusso USER_PASSWORD_AUTH non supporta l'aggiornamento dei token quando attivi il monitoraggio del dispositivo. La funzionalità monitoraggio del dispositivo del pool di utenti può essere utilizzata solo con il flusso di autenticazione USER_SRP_AUTH.

Se tenti di ottenere nuovi token quando utilizzi il token di aggiornamento, ricevi l'errore "Invalid Refresh Token". Per risolverlo, monitora i dispositivi utente, quindi utilizza il flusso di autenticazione USER_SRP_AUTH.

Informazioni correlate

Aggiorna i token

Autenticazione con pool di utenti Amazon Cognito

Impostazioni specifiche dell'applicazione con client di app

Tracking and Remembering Devices Using Amazon Cognito Your User Pools (Monitoraggio e memorizzazione di dispositivi utilizzando un pool di utenti Amazon Cognito)

AWS UFFICIALEAggiornata 4 mesi fa