Come posso risolvere i problemi con l'attributo email_verified di un utente Amazon Cognito?
Desidero risolvere eventuali problemi relativi all'attributo email_verified per gli utenti di Amazon Cognito.
Breve descrizione
Un pool di utenti Amazon Cognito dispone di un set di attributi standard utilizzati per identificare i singoli utenti. L'attributo email_verified, che indica se l'indirizzo e-mail di un utente è stato verificato, può cambiare nelle seguenti situazioni:
- Un utente aggiorna il proprio indirizzo e-mail. Quando un utente aggiorna il proprio indirizzo e-mail, Amazon Cognito modifica l'attributo email_verified in unverified (non verificato).
- Un indirizzo e-mail è configurato come alias. Quindi, viene creato un utente con un indirizzo e-mail duplicato. Quando un indirizzo e-mail è impostato come alias, solo un utente può mantenere il valore dell'indirizzo e-mail come attributo email_verified. Se la conferma dell'account dell'utente più recente ha esito positivo, l'alias dell'indirizzo e-mail viene trasferito all'utente più recente. L'indirizzo e-mail dell'utente precedente non è quindi verificato. Per ulteriori informazioni, consulta Attributi del bacino d'utenza e rivedi la sezione Alias.
- Un utente federato o un utente collegato a un utente federato accede con una mappatura e-mail. Quando un utente federato accede, deve essere presente una mappatura per ogni attributo del pool di utenti richiesto dal pool di utenti stesso. Se un attributo e-mail è stato mappato, l'attributo email_verified diventa unverified (non verificato) per impostazione predefinita.
Risoluzione
Per risolvere i problemi relativi all'attributo email_verified, segui i passaggi applicabili nel tuo caso specifico.
Importante: nei seguenti comandi di esempio dell'interfaccia della linea di comando AWS (AWS CLI), sostituisci tutte le istanze di stringhe di esempio con i valori in tuo possesso. (Ad esempio, sostituisci "example_access_token" con il valore del tuo token di accesso).
Verifica dopo un aggiornamento dell'indirizzo e-mail
Per verificare l'indirizzo e-mail dopo un aggiornamento utente:
1. Affinché Amazon Cognito invii il codice di verifica a un indirizzo e-mail aggiornato,configura l'impostazione di verifica e-mail per il pool di utenti.
2. Se necessario, aggiorna l'indirizzo e-mail chiamando l'API UpdateUserAttributes o l'API AdminUpdateUserAttributes.
Esempio di comando update-user-attributes:
aws cognito-idp update-user-attributes --access-token "example_access_token" --user-attributes Name="email",Value="example_new_email"
Esempio di comando admin-update-user-attributes:
aws cognito-idp admin-update-user-attributes --user-pool-id "example_user_pool_id" --username "example_username" --user-attributes Name="email",Value="example_new_email"
Importante: l'API AdminUpdateUserAttributes può essere utilizzata anche per verificare automaticamente l'e-mail impostando l'attributo email_verified su True. Se l'indirizzo e-mail viene verificato automaticamente con l'API AdminUpdateUserAttributes, il passaggio successivo non è necessario. Il passaggio successivo è necessario quando si utilizza l'API UpdateUserAttributes.
3. Controlla la tua nuova casella di posta elettronica per il codice di verifica.
4. Chiama l'API VerifyUserAttribute. Specifica i parametri per AccessToken e AttributeName scegliendo "e-mail" e inserisci il codice di verifica ottenuto nel passaggio precedente.
Esempio di comando verify-user-attribute:
aws cognito-idp verify-user-attribute --access-token "example_access_token" --attribute-name "email" --code "example_verification_code"
Per verificare l'indirizzo e-mail dopo la scadenza del codice iniziale:
1. Accedi all'applicazione con il tuo nome utente per recuperare il token di accesso.
2. Chiama l'API GetUserAttributeVerificationCode. Imposta il parametro AttributeName su "e-mail".
Esempio di comando get-user-attribute-verification-code:
aws cognito-idp get-user-attribute-verification-code --access-token "example_access_token" --attribute-name "email"
3. Chiama l'API VerifyUserAttribute. Specifica i parametri per AccessToken e AttributeName scegliendo "e-mail". Inserisci il codice di verifica ottenuto nel passaggio precedente.
Conferma di un nuovo utente con un indirizzo e-mail duplicato
Per consentire la conferma di un nuovo utente con un indirizzo e-mail duplicato:
1. Se necessario, chiama l'API SignUp per registrare un utente con un indirizzo e-mail configurato.
Esempio di comando sign-up:
aws cognito-idp sign-up --client-id "example_client_id" --username "example_username" --password "example_password" --user-attributes Name="email",Value="example_user_email"
2. Chiama l'API ConfirmSignUp con il parametro ForceAliasCreation impostato su True.
Esempio di comando confirm-sign-up:
aws cognito-idp confirm-sign-up --client-id "example_client_id" --username "example_username" --confirmation-code "example_confirmation_code" --force-alias-creation
Per negare la conferma di un nuovo utente con un indirizzo e-mail duplicato dopo la registrazione:
1. Chiama l'API ConfirmSignUp con il parametro ForceAliasCreation impostato su False.
Nota: per impostazione predefinita, ForceAliasCreation è impostato su False. Pertanto, non è necessario passarlo come parametro nella richiesta.
Esempio di comando deny-sign-up:
aws cognito-idp confirm-sign-up --client-id "example_client_id" --username "example_username" --confirmation-code "example_confirmation_code" --no-force-alias-creation
2. Impostando il parametro ForceAliasCreation su False, l'API restituirà il seguente errore:
An error occurred (AliasExistsException) when calling the ConfirmSignUp operation: An account with the email already exists.
Creazione di un nuovo utente amministratore con un indirizzo e-mail duplicato
Per creare un nuovo utente amministratore con indirizzo e-mail duplicato:
1. Chiama l'API AdminCreateUser con un indirizzo e-mail configurato, con l'attributo email_verified impostato su True e il parametro ForceAliasCreation impostato su True.
Esempio di comando admin-create-user:
aws cognito-idp admin-create-user --user-pool-id "example_user_pool_id" --username "example_username" --user-attributes Name="email",Value="example_user_email" Name="email_verified",Value="True" --force-alias-creation
Esegui la mappatura dell'attributo email_verified a un gestore dell'identità digitale (IdP) di terze parti
Per mantenere verificato l'attributo email_verified dopo la federazione:
1. Nella console Amazon Cognito, esegui la mappatura dell'attributo IdP per lo stato di verifica all'attributo email_verified.
Nota: la maggior parte dei provider OpenID Connect (OIDC) include l'attributo email_verified.
Informazioni correlate
Verifica degli aggiornamenti agli indirizzi e-mail e ai numeri di telefono
Contenuto pertinente
- AWS UFFICIALEAggiornata 6 mesi fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa