Come posso recuperare una password utente in Amazon Cognito?

3 minuti di lettura
0

Voglio recuperare una password utente in Amazon Cognito.

Risoluzione

Esistono due modi per recuperare una password utente in Amazon Cognito:

  • Tramite una email o un numero di telefono verificati.
  • Tramite una password utente in qualità di amministratore.

Verifica della email o del numero di telefono

È possibile utilizzare il comando API ForgotPassword per recuperare una password utente. Il comando API ForgotPassword invia un codice di ripristino a una email verificata o a un numero di telefono verificato. Il codice di ripristino è valido per un'ora. Quindi, utilizza il comando API ConfirmForgotPassword per inserire un codice di conferma che reimposterà la password.

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

Comandi AWS CLI:

ForgotPassword

aws cognito-idp forgot-password --client-id 38fjsnc484p94kpqsnet7mpld0 --username jane@example.com

Output:

{
  "CodeDeliveryDetails": {
    "Destination": "j***@e***.com",
    "DeliveryMedium": "EMAIL",
    "AttributeName": "email"
  }
}

ConfirmForgotPassword

aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username=diego@example.com --password PASSWORD --confirmation-code CONF_CODE

Nota: devi inserire --secret-hash nel comando CLI se soddisfi entrambi i seguenti requisiti:

  • I comandi di AWS CLI hanno --client-id come parametro.
  • Il client dell'app è configurato con un segreto.

Per calcolare l'hash segreto di un client di app, consulta [How do I troubleshoot "Unable to verify secret hash for client

" errors from my Amazon Cognito user pools API?](https://repost.aws/it/knowledge-center/cognito-unable-to-verify-secret-hash) (Come posso risolvere gli errori "Impossibile verificare l'hash segreto per il client

" dall'API dei pool di utenti Amazon Cognito?)

Reimpostazione dell'amministratore

Nota: se non sei un amministratore, contatta l'amministratore per completare le seguenti azioni.

Quando si chiama il comando API AdminResetUserPassword, la password corrente viene invalidata ed è necessario modificarla. Se un utente tenta di accedere dopo la chiamata del comando API, l'app eseguirà le seguenti operazioni:

  • Recupera PasswordResetRequiredException.
  • Indirizza l'utente alla pagina di reimpostazione della password con il flusso di password dimenticate.

Inoltre, la chiamata all'API comporta l'invio di un messaggio all'utente con un codice per modificare la password se:

  • Il pool di utenti ha configurato la verifica telefonica e
  • Esiste un numero di telefono o un indirizzo email verificati per l'utente.

Comandi AWS CLI:

AdminResetUserPassword

aws cognito-idp admin-reset-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com

ConfirmForgotPassword

aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username diego@example.com --password PASSWORD --confirmation-code CONF_CODE

AdminSetUserPassword

In qualità di amministratore, puoi anche utilizzare il comando API AdminSetUserPassword per richiamare la password dell'utente in un pool di utenti. La password può essere temporanea o permanente. Se è temporanea, lo stato dell'utente passa allo stato FORCE_CHANGE_PASSWORD. Quando accedi, la risposta InitiateAuth/AdminInitiateAuth contiene la richiesta NEW_PASSWORD_REQUIRED. Se non accedi prima che scada, non potrai accedere e dovrai reimpostare la password. Dopo aver impostato una nuova password, oppure se la password è permanente, lo stato dell'utente viene impostato su CONFIRMED.

aws cognito-idp admin-set-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --password Hello@123 --permanent

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa