Registrazione e conferma degli account utente - Amazon Cognito

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione e conferma degli account utente

Gli account utente vengono aggiunti al bacino d'utenza in uno dei seguenti modi:

Gli utenti che effettuano la registrazione devono essere confermati prima di poter eseguire l'accesso. Gli utenti importati e creati sono già confermati, ma devono creare la propria password quando effettuano l'accesso per la prima volta. Le sezioni seguenti spiegano il processo di conferma e la verifica tramite e-mail o telefono.

Panoramica sulla conferma dell'account utente

Il seguente diagramma illustra il processo di conferma:

Quando gli utenti inseriscono il codice di conferma, verificano automaticamente l'e-mail o il telefono.

Un account utente può avere differenti stati:

Registrato (non confermato)

L'utente si è registrato correttamente, ma non può effettuare l'accesso fino a quando l'account utente non viene confermato. In questo stato l'utente è abilitato ma non confermato.

I nuovi utenti che effettuano la registrazione iniziano da questo stato.

Confermato

L'account utente viene confermato e l'utente può effettuare l'accesso. Quando un utente inserisce un codice o segue un link e-mail per confermare il proprio account utente, tale e-mail o numero di telefono viene verificato automaticamente. Il codice o il link è valido 24 ore.

Se l'account utente è stato confermato dall'amministratore o da un trigger Lambda di pre-registrazione, potrebbe non esserci un'e-mail verificata o un numero di telefono associato all'account.

Reimpostazione della password obbligatoria

L'account utente viene confermato, ma l'utente deve richiedere un codice e reimpostare la password prima di poter effettuare l'accesso.

Gli account utente importati da un amministratore o uno sviluppatore iniziano da questo stato.

Modifica forzata della password

L'account utente viene verificato e l'utente può accedere utilizzando una password temporanea che dovrà modificare al primo accesso con un nuovo valore prima di fare qualsiasi altra operazione.

Gli account utente creati da un amministratore o uno sviluppatore iniziano da questo stato.

Disabilitato

Prima di poter eliminare un account utente, è necessario disabilitare l'accesso per quest'ultimo.

Verifica delle informazioni di contatto al momento della registrazione

Quando nuovi utenti effettuano la registrazione nella tua app, è probabile che tu voglia che forniscano almeno un metodo di contatto. Ad esempio, con le informazioni di contatto degli utenti, puoi:

  • Inviare una password temporanea quando un utente sceglie di reimpostare la propria password.

  • Avvisare gli utenti quando le loro informazioni personali o finanziarie vengono aggiornate.

  • Inviare messaggi promozionali, ad esempio offerte speciali o sconti.

  • Inviare riepiloghi sugli account o promemoria di fatturazione.

Per i casi d'uso come questi, è importante inviare messaggi a una destinazione verificata. Diversamente potresti inviare i tuoi messaggi a indirizzi e-mail o numeri di telefono non validi non digitati correttamente. Ancora peggio, potresti inviare informazioni riservate a destinatari scaltri che fingono di essere tuoi utenti.

Per essere certo di inviare i messaggi solo alle persone corrette, configura il tuo bacino d'utenza Amazon Cognito in modo che gli utenti debbano fornire le informazioni seguenti al momento della registrazione:

  1. Un indirizzo e-mail o numero di telefono.

  2. Un codice di verifica che Amazon Cognito invia all'indirizzo e-mail o al numero di telefono. Se sono trascorse 24 ore e il codice o il link dell'utente non è più valido, chiama l'operatore dell'ResendConfirmationCodeAPI per generare e inviare un nuovo codice o collegamento.

Fornendo il codice di verifica, un utente dimostra di avere accesso alla mailbox o al telefono che ha ricevuto il codice. Dopo che l'utente ha fornito il codice, Amazon Cognito aggiorna le informazioni relative all'utente nel bacino d'utenza nel seguente modo:

  • Impostando lo stato dell'utente su CONFIRMED.

  • Aggiornando gli attributi dell'utente per indicare che l'indirizzo e-mail o il numero di telefono sono verificati.

Per visualizzare queste informazioni, puoi utilizzare la console Amazon Cognito. In alternativa, puoi utilizzare l'operazione AdminGetUser API, il admin-get-user comando con o un'azione corrispondente in uno degli AWS SDK. AWS CLI

Se un utente dispone di un metodo di contatto verificato, Amazon Cognito gli invia automaticamente un messaggio quando richiede un ripristino della password.

Per configurare il bacino d'utenza per richiedere la verifica di e-mail o telefono

Quando verifichi gli indirizzi e-mail e i numeri di telefono degli utenti, assicurati di poter contattare questi ultimi. Completa i seguenti passaggi AWS Management Console per configurare il tuo pool di utenti in modo che gli utenti confermino i propri indirizzi e-mail o numeri di telefono.

Nota

Se non disponi ancora di un pool di utenti nel tuo account, consulta Nozioni di base sui bacini d'utenza.

Per configurare il bacino d'utenza
  1. Passa alla console di Amazon Cognito. Se richiesto, inserisci le tue AWS credenziali.

  2. Dal riquadro di navigazione, scegli User Pools (Bacini d'utenza). Scegli un bacino d'utenza esistente dall'elenco o creane uno nuovo.

  3. Scegli la scheda Sign-up experience (Esperienza di registrazione) e individua l'opzione Attribute verification and user account confirmation (Verifica degli attributi e conferma dell'account utente). Scegli Modifica.

  4. In Verifica e conferma assistita da Cognito, se desideri, scegli Consenti a Cognito di inviare automaticamente messaggi per la verifica e la conferma. Con questa impostazione abilitata, Amazon Cognito invia messaggi agli attributi di contatto utente selezionati quando un utente si iscrive o quando crei un profilo utente. Per verificare gli attributi e confermare i profili utente per l'accesso, Amazon Cognito invia un codice o un link nei messaggi agli utenti. Gli utenti devono quindi inserire il codice nell'interfaccia utente in modo che l'app possa confermarli in una richiesta API ConfirmSignUp o AdminConfirmSignUp.

    Nota

    Puoi anche disabilitare la verifica e conferma assistita da Cognito e utilizzare azioni API autenticate o trigger Lambda per verificare gli attributi e confermare gli utenti.

    Scegliendo questa opzione, Amazon Cognito non invia alcun codice di verifica quando gli utenti effettuano la registrazione. Scegli questa opzione se utilizzi un flusso di autenticazione personalizzato che verifica almeno un metodo di contatto senza usare i codici di verifica di Amazon Cognito. Ad esempio, è possibile utilizzare un trigger Lambda di pre-registrazione che verifica automaticamente gli indirizzi e-mail che appartengono a un determinato dominio.

    Se non vengono verificate le informazioni di contatto degli utenti, in alcuni casi essi potrebbero non essere in grado di utilizzare l'app. Si noti che tutti gli utenti necessitano di informazioni di contatto verificate per:

    • Reimpostare la password utente — Quando un utente effettua un'operazione nell'app che chiama l'operazione API ForgotPassword, Amazon Cognito invia una password temporanea all'indirizzo e-mail o al numero di telefono dell'utente. Amazon Cognito invia questa password solo se l'utente ha almeno un metodo di contatto verificato.

    • Accesso tramite indirizzo e-mail o numero di telefono come alias — Configurando il bacino d'utenza per consentire questi alias, un utente sarà in grado di accedere con un alias solo se è verificato. Per ulteriori informazioni, consulta Personalizzazione degli attributi di accesso.

  5. Scegli gli attributi da verificare:

    Invia un messaggio SMS, verifica il numero di telefono

    Amazon Cognito invia un codice di verifica tramite messaggio SMS all'accesso dell'utente. Scegli questa opzione se in genere comunichi con gli utenti tramite SMS. Ad esempio, si vorranno utilizzare numeri di telefono verificati se si inviano notifiche di consegna, conferme di appuntamenti o avvisi. I numeri di telefono dell'utente saranno l'attributo verificato al momento della conferma degli account; è necessario intraprendere ulteriori azioni per verificare e comunicare con gli indirizzi e-mail dell'utente.

    Invia messaggio e-mail, verifica l'indirizzo email

    Amazon Cognito invia un codice di verifica tramite messaggio SMS all'accesso dell'utente. Scegliere questa opzione se in genere si comunica con gli utenti tramite e-mail. Ad esempio, si vorranno utilizzare indirizzi e-mail verificati se si inviano estratti conto, riepiloghi di ordini o offerte speciali. Gli indirizzi e-mail dell'utente saranno l'attributo verificato al momento della conferma degli account; è necessario intraprendere ulteriori azioni per verificare e comunicare con gli indirizzi e-mail dell'utente.

    Invia messaggio SMS se il numero di telefono è disponibile, altrimenti invia un messaggio e-mail

    Scegliere questa opzione se non si necessita che tutti gli utenti dispongano del medesimo metodo di contatto verificato. In questo caso, la pagina di registrazione nell'app potrebbe richiedere agli utenti di verificare solo il metodo di contatto preferito. Quando Amazon Cognito un codice di verifica, lo invia al metodo di contatto fornito nella richiesta SignUp dall'app. Se un utente fornisce sia un indirizzo e-mail che un numero di telefono e l'app offre entrambi i metodi di contatto nella richiesta SignUp, Amazon Cognito invierà il codice di verifica solo al numero di telefono.

    Se occorre che gli utenti verifichino sia un indirizzo e-mail che un numero di telefono, scegliere questa opzione. Amazon Cognito verifica un metodo di contatto quando l'utente effettua la registrazione e l'app deve verificare l'altro metodo di contatto dopo che l'utente ha effettuato l'accesso. Per ulteriori informazioni, consulta Se si richiede agli utenti di confermare sia gli indirizzi e-mail che i numeri di telefono.

  6. Scegli Salva modifiche.

Flusso di autenticazione con verifica di e-mail o telefono

Se il bacino d'utenza richiede agli utenti di verificare le proprie informazioni di contatto, l'app deve facilitare il seguente flusso quando un utente effettua la registrazione:

  1. L'utente accede all'app inserendo un nome utente, un numero di telefono e/o un indirizzo e-mail ed eventuali altri attributi.

  2. Il servizio Amazon Cognito riceve la richiesta di registrazione dall'app. Dopo aver verificato che la richiesta contenga tutti gli attributi necessari per la registrazione, il servizio completa il processo di registrazione e invia un codice di conferma al telefono (tramite SMS) o all'indirizzo e-mail dell'utente. Il codice è valido 24 ore.

  3. Il servizio informa l'app che la registrazione è stata completata e che l'account utente è in attesa di conferma. La risposta contiene informazioni su dove è stato inviato il codice di conferma. A questo punto l'account utente è in stato non confermato e l'indirizzo e-mail e il numero di telefono dell'utente non sono verificati.

  4. L'app è ora in grado di richiedere all'utente di inserire il codice di conferma. Non è necessario che l'utente inserisca il codice immediatamente. Tuttavia, l'utente non sarà in grado di effettuare l'accesso fino a quando non avrà inserito il codice di conferma.

  5. L'utente inserisce il codice di conferma nell'app.

  6. L'app chiama ConfirmSignUp per inviare il codice al servizio Amazon Cognito, il quale verifica il codice e, se è corretto, imposta l'account utente sullo stato confermato. Dopo aver confermato correttamente l'account utente, il servizio Amazon Cognito contrassegna automaticamente l'attributo utilizzato per la conferma (indirizzo e-mail o numero di telefono) come verificato. A meno che il valore di questo attributo non venga modificato, l'utente non dovrà verificarlo nuovamente.

  7. A questo punto l'account utente è in stato confermato e l'utente può effettuare l'accesso.

Se si richiede agli utenti di confermare sia gli indirizzi e-mail che i numeri di telefono

Amazon Cognito verifica solo uno dei metodi di contatto quando un utente effettua la registrazione. Nei casi in cui Amazon Cognito deve scegliere tra la verifica di un indirizzo e-mail o di un numero di telefono, sceglie di verificare il numero di telefono inviando un codice di verifica tramite SMS. Ad esempio, se configuri il tuo bacino d'utenza per consentire agli utenti di verificare gli indirizzi e-mail o i numeri di telefono e se la tua app fornisce entrambi questi attributi al momento della registrazione, Amazon Cognito verifica solo il numero di telefono. Dopo che un utente ha verificato il proprio numero di telefono, Amazon Cognito imposta lo stato dell'utente su CONFIRMED e all'utente sarà consentito accedere all'app.

Dopo che l'utente ha effettuato l'accesso, la tua app può fornire l'opzione di verifica del metodo di contatto che non è stato verificato durante la registrazione. Per verificare il secondo metodo, la tua app chiama l'operazione API VerifyUserAttribute. Tieni presente che questa operazione richiede un parametro AccessToken e che Amazon Cognito fornisce solo i token di accesso agli utenti autenticati. Pertanto, puoi verificare il secondo metodo di contatto solo dopo che l'utente ha effettuato l'accesso.

Se hai bisogno che i tuoi utenti verifichino sia gli indirizzi e-mail che i numeri di telefono, effettua quanto segue:

  1. Configurare il bacino d'utenza per consentire agli utenti di verificare l'indirizzo e-mail o il numero di telefono.

  2. Nel flusso di registrazione dell'app, richiedere agli utenti di fornire un indirizzo e-mail e un numero di telefono. Chiamare l'operazione API SignUp e fornire l'indirizzo e-mail e il numero di telefono per il parametro UserAttributes. A questo punto, Amazon Cognito invia un codice di verifica al telefono dell'utente.

  3. Nell'interfaccia dell'app, presentare una pagina di conferma in cui l'utente possa immettere il codice di verifica. Confermare l'utente chiamando l'operazione API ConfirmSignUp. A questo punto, lo stato dell'utente è CONFIRMED e il suo numero di telefono verificato, ma non lo è l'indirizzo e-mail.

  4. Presentare la pagina di accesso e autenticare l'utente chiamando l'operazione API InitiateAuth. Dopo che l'utente è stato autenticato, Amazon Cognito restituisce un token di accesso all'app.

  5. Chiama l'operazione API GetUserAttributeVerificationCode. Specificare i seguenti parametri nella richiesta.

    • AccessToken: il token di accesso restituito da Amazon Cognito quando l'utente ha effettuato l'accesso.

    • AttributeName: specifica "email" come valore dell'attributo.

    Amazon Cognito invia un codice di verifica all'indirizzo e-mail dell'utente.

  6. Presentare una pagina di conferma in cui l'utente possa immettere il codice di verifica. Quando l'utente invia il codice, chiamare l'operazione API VerifyUserAttribute. Specificare i seguenti parametri nella richiesta.

    • AccessToken: il token di accesso restituito da Amazon Cognito quando l'utente ha effettuato l'accesso.

    • AttributeName: specifica "email" come valore dell'attributo.

    • Code: il codice di verifica fornito dall'utente.

    A questo punto, l'indirizzo e-mail è verificato.

Permettere agli utenti di registrarsi ma confermarli come un amministratore del pool di utenti

Potrebbe essere necessario impedire al pool di utenti di inviare automaticamente messaggi di verifica nel pool di utenti, ma consentire comunque a chiunque di registrarsi per un account. Questo modello lascia spazio, ad esempio, alla revisione umana delle nuove richieste di registrazione e alla convalida ed elaborazione batch delle registrazioni. Puoi confermare nuovi account utente nella console Amazon Cognito o con l'operazione API autenticata tramite IAM. AdminConfirmSignUp Puoi confermare gli account utente come un amministratore a prescindere che il pool di utenti invii o meno messaggi di verifica.

Con questa tecnica, puoi solo confermare l'iscrizione self-service di un utente. Per confermare un utente creato come amministratore, crea una richiesta AdminSetUserPasswordAPI con set to. Permanent True

  1. L'utente accede all'app inserendo un nome utente, un numero di telefono e/o un indirizzo e-mail ed eventuali altri attributi.

  2. Il servizio Amazon Cognito riceve la richiesta di registrazione dall'app. Dopo aver verificato che la richiesta contenga tutti gli attributi necessari per la registrazione, il servizio completa il processo di registrazione e indica all'app che la registrazione è stata completata ed è in attesa di conferma. A questo punto l'account utente è in stato non confermato. L'utente non può effettuare l'accesso fino a quando l'account non è confermato.

  3. Conferma l'account dell'utente. Devi accedere AWS Management Console o firmare la richiesta API con AWS le credenziali per confermare l'account.

    1. Per confermare un utente nella console Amazon Cognito, passa alla scheda Utenti, scegli l'utente che desideri confermare e dal menu Azioni seleziona Conferma.

    2. Per confermare un utente nell' AWS API o nella CLI, crea una richiesta AdminConfirmSignUpAPI o admin-confirm-sign-upin. AWS CLI

  4. A questo punto l'account utente è in stato confermato e l'utente può effettuare l'accesso.

Calcolo dei valori SecretHash

Assegnare un segreto del cliente al client dell'app riservata come una best practice. Quando si assegna un segreto del client al client dell'app, le richieste API del pool di utenti di Amazon Cognito devono includere un hash che includa il segreto del client nel corpo della richiesta. Per convalidare la conoscenza del segreto del client per le operazioni API nei seguenti elenchi, concatenare il segreto del client con l'ID del client dell'app e il nome dell'utente, quindi codificare in base64 tale stringa.

Quando l'app concede l'accesso agli utenti a un client con un hash segreto, puoi utilizzare il valore di qualsiasi attributo di accesso al pool di utenti come elemento nome utente dell'hash segreto. Quando l'app richiede nuovi token in un'operazione di autenticazione con REFRESH_TOKEN_AUTH, il valore dell'elemento nome utente dipende dagli attributi di accesso. Se il pool di utenti non ha username come attributo di accesso, imposta il valore hash segreto del valore nome utente della richiesta sub dell'utente dal token di accesso o token ID. Quando username è un attributo di accesso, imposta il valore hash segreto del nome utente dalla richiesta username.

Le seguenti API dei pool di utenti di Amazon Cognito accettano un valore hash del segreto del client in un parametro SecretHash.

Inoltre, le seguenti API accettano un valore hash del segreto del client in un parametro SECRET_HASH, nei parametri di autenticazione o in una risposta di richiesta di verifica.

Operazione API Parametro principale per SECRET_HASH
InitiateAuth AuthParameters
AdminInitiateAuth AuthParameters
RespondToAuthChallenge ChallengeResponses
AdminRespondToAuthChallenge ChallengeResponses

Il valore hash del segreto è un codice di autenticazione dei messaggi mediante algoritmi hash con chiave (HMAC) codificato in Base64 e calcolato utilizzando la chiave segreta del client di un pool di utenti e nome utente, oltre all'ID client nel messaggio. Il seguente pseudocodice mostra come viene calcolato questo valore. In questo pseudocodice, + indica la concatenazione, HMAC_SHA256 rappresenta una funzione che produce un valore HMAC utilizzando HmacSHA256 e Base64 rappresenta una funzione che genera una versione con codificazione Base-64 dell'output hash.

Base64 ( HMAC_SHA256 ( "Client Secret Key", "Username" + "Client Id" ) )

Per una panoramica dettagliata su come calcolare e utilizzare il SecretHash parametro, consulta Come posso risolvere gli errori «Impossibile verificare l'hash segreto per il client» dall'API dei miei pool di utenti di Amazon Cognito<client-id>? nel Knowledge Center. AWS

Puoi utilizzare i seguenti esempi di codice nel codice dell'app lato server.

Shell
echo -n "[username][app client ID]" | openssl dgst -sha256 -hmac [app client secret] -binary | openssl enc -base64
Java
import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public static String calculateSecretHash(String userPoolClientId, String userPoolClientSecret, String userName) { final String HMAC_SHA256_ALGORITHM = "HmacSHA256"; SecretKeySpec signingKey = new SecretKeySpec( userPoolClientSecret.getBytes(StandardCharsets.UTF_8), HMAC_SHA256_ALGORITHM); try { Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM); mac.init(signingKey); mac.update(userName.getBytes(StandardCharsets.UTF_8)); byte[] rawHmac = mac.doFinal(userPoolClientId.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(rawHmac); } catch (Exception e) { throw new RuntimeException("Error while calculating "); } }
Python
import sys import hmac, hashlib, base64 username = sys.argv[1] app_client_id = sys.argv[2] key = sys.argv[3] message = bytes(sys.argv[1]+sys.argv[2],'utf-8') key = bytes(sys.argv[3],'utf-8') secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() print("SECRET HASH:",secret_hash)

Conferma degli account utente senza la verifica dell'e-mail o del numero di telefono

Il trigger Lambda di pre-registrazione può essere utilizzato per confermare automaticamente gli account utente al momento della registrazione, senza richiedere un codice di conferma e verificare l'e-mail o il numero di telefono. Gli utenti che si confermano in questo modo possono effettuare l'accesso immediatamente senza la necessità di ricevere un codice.

Tramite questo trigger, puoi anche contrassegnare l'e-mail o il numero di telefono di un utente come verificati.

Nota

Sebbene questo approccio sia utile per gli utenti che stanno appena cominciando, ti consigliamo di auto verificare almeno l'e-mail o il numero di telefono. In caso contrario, può accadere che l'utente non sia in grado di recuperare la password nel caso la dimentichi.

Se non richiedi che l'utente riceva e inserisca un codice di conferma durante la registrazione e non si esegue la verifica automatica di indirizzo e-mail e numero di telefono nel trigger Lambda di pre-registrazione, rischi di non avere un indirizzo e-mail o un numero di telefono verificato per quell'account utente. L'utente può verificare l'indirizzo e-mail o il numero di telefono in un secondo momento. Tuttavia, se l'utente dimentica la password e non dispone di un indirizzo e-mail o di un numero di telefono verificato, rimane bloccato fuori dall'account, in quanto il flusso di password dimenticata richiede un indirizzo e-mail o un numero di telefono verificato per inviare all'utente un codice di verifica.

Verifica in caso di modifica dell'e-mail o del numero di telefono da parte dell'utente

Quando un utente aggiorna il proprio indirizzo e-mail o numero di telefono nell'app, Amazon Cognito invia immediatamente un messaggio con un codice di verifica a tale utente se hai configurato il pool di utenti per la verifica automatica di tale attributo. L'utente deve quindi fornire all'app il codice incluso nel messaggio di verifica. L'app invia quindi il codice in una richiesta VerifyUserAttributeAPI per completare la verifica del nuovo valore dell'attributo.

Se il pool di utenti non richiede che questi ultimi verifichino un indirizzo e-mail o un numero di telefono aggiornato, Amazon Cognito cambia immediatamente il valore di un attributo email o phone_number aggiornato e contrassegna l'attributo come non verificato. L'utente non può accedere con un indirizzo e-mail o un numero di telefono non verificato. Deve infatti completare la verifica del valore aggiornato prima di poter utilizzare tale attributo come alias di accesso.

Se il pool di utenti richiede che questi ultimi verifichino un indirizzo e-mail o un numero di telefono aggiornato, Amazon Cognito mantieni l'attributo verificato e impostato sul valore originale finché l'utente non verifica il nuovo valore dell'attributo. Se l'attributo è un alias per l'accesso, l'utente può accedere con il valore originale dell'attributo fino a quando la verifica non cambia l'attributo nel nuovo valore. Per ulteriori informazioni sulla configurazione del pool di utenti per richiedere a questi ultimi di verificare gli attributi aggiornati, consulta Configurazione della verifica di e-mail o telefono.

Puoi utilizzare un trigger Lambda di messaggio personalizzato per personalizzare questo messaggio di verifica. Per ulteriori informazioni, consulta Trigger Lambda di messaggi personalizzati. Quando l'indirizzo e-mail o il numero di telefono dell'utente non è verificato, l'app deve informare l'utente che deve verificare l'attributo. L'app deve inoltre rendere disponibile un pulsante o un link per la verifica del nuovo indirizzo e-mail o numero di telefono.

Processo di conferma e verifica degli account utente creati dagli amministratori o dagli sviluppatori

Gli account utente creati da un amministratore o da uno sviluppatore sono già in stato confermato, per cui agli utenti non viene richiesto di inserire un codice di conferma. Il messaggio di invito che il servizio Amazon Cognito invia a questi utenti include il nome utente e una password temporanea. L'utente deve modificare la password prima di effettuare l'accesso. Per ulteriori informazioni, consulta la Personalizzare e-mail ed SMS di Creazione di account utente come amministratore e il trigger di messaggio personalizzato in Personalizzazione di flussi di lavoro di bacini d'utenza con trigger Lambda.

Processi di conferma e verifica per gli account utente importati

Gli account utente creati utilizzando la funzionalità di importazione degli utenti nella CLI o nell'API (vediImportazione di utenti nel bacino d'utenza da un file CSV) sono già nello stato confermato, quindi agli utenti non è richiesto di inserire un codice di conferma. AWS Management Console Non viene inviato alcun messaggio di invito. Tuttavia, gli account utente importati prevedono che gli utenti richiedano prima un codice chiamando l'API ForgotPassword e che in seguito creino una password utilizzando il codice inviato chiamando l'API ConfirmForgotPassword prima di effettuare l'accesso. Per ulteriori informazioni, consulta Necessità degli utenti importati di ripristinare le password.

L'e-mail o il numero di telefono devono essere contrassegnati come verificati quando l'account utente viene importato, in modo che non venga richiesta la verifica quando l'utente effettua l'accesso.

Invio di e-mail durante il test dell'App

Amazon Cognito invia agli utenti messaggi e-mail quando creano e gestiscono i propri account nell'app client per il pool di utenti. Se configuri il bacino d'utenza per richiedere la verifica e-mail, Amazon Cognito invia un'e-mail quando:

  • Un utente effettua la registrazione.

  • Un utente aggiorna il suo indirizzo e-mail.

  • Un utente esegue un'operazione che chiama l'operazione API ForgotPassword.

  • Crei un account utente come amministratore.

A seconda dell'azione che attiva l'e-mail, l'e-mail contiene un codice di verifica o una password temporanea. I tuoi utenti devono ricevere queste e-mail e comprendere il messaggio. In caso contrario, potrebbero non essere in grado di effettuare l'accesso e utilizzare la tua app.

Per essere che le e-mail vengano inviate senza problemi e che il messaggio sia corretto, prova le operazioni nella tua app attivando le consegne e-mail da Amazon Cognito. Ad esempio, utilizzando la pagina di registrazione nella tua app oppure utilizzando l'operazione API SignUp, puoi attivare un'e-mail effettuando la registrazione con un indirizzo e-mail di prova. Quando esegui il testing in questo modo, ricorda quanto segue:

Importante

Quando utilizzi un indirizzo e-mail per testare le operazioni che attivano le e-mail da Amazon Cognito, non utilizzare un indirizzo e-mail fittizio (ossia, senza una casella di posta associata). Utilizza un indirizzo e-mail reale che riceverà l'e-mail da Amazon Cognito senza creare un mancato recapito permanente.

Un mancato recapito permanente si verifica quando Amazon Cognito non è in grado di consegnare le e-mail alla casella di posta del destinatario, cosa che accade sempre se la casella di posta è inesistente.

Amazon Cognito limita il numero di e-mail che possono essere inviate da AWS account che subiscono ripetutamente hard bounce.

Quando provi le operazioni che attivano le e-mail, utilizza uno dei seguenti indirizzi e-mail per evitare gli hard bounce:

  • Un indirizzo per un account e-mail di tua proprietà che utilizzi per il testing. Quando utilizzi il tuo indirizzo e-mail, riceverai un'e-mail inviata da Amazon Cognito. Con questa e-mail, puoi utilizzare il codice di verifica per testare l'esperienza di registrazione nella tua app. Se hai personalizzato il messaggio e-mail per il tuo bacino d'utenza, puoi controllare che le personalizzazioni siano corrette.

  • L'indirizzo del simulatore di mailbox, success@simulator.amazonses.com. Se utilizzi l'indirizzo del simulatore, Amazon Cognito invia correttamente l'e-mail ma non sarai in grado di visualizzarla. Questa opzione è utile quando non è necessario utilizzare il codice di verifica né verificare il messaggio e-mail.

  • L'indirizzo del simulatore di mailbox con un'etichetta arbitraria aggiuntiva, come success+user1@simulator.amazonses.com o success+user2@simulator.amazonses.com. Amazon Cognito invia correttamente e-mail a questi indirizzi ma non sarai in grado di visualizzarle. Questa opzione è utile quando si desidera testare il processo di registrazione aggiungendo più utenti di prova al bacino d'utenza e ogni utente di prova ha un indirizzo e-mail univoco.