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à.
Trigger Lambda di pre-registrazione
Poco prima della registrazione di un nuovo utente in Amazon Cognito, viene attivata la funzione di pre-registrazione AWS Lambda. Puoi utilizzare questa funzione nell'ambito del processo di registrazione per eseguire una convalida personalizzata e, in base ai risultati della convalida, accettare o rifiutare la richiesta di registrazione.
Argomenti
- Flussi Lambda di pre-registrazione
- Parametri del trigger Lambda di pre-registrazione
- Tutorial sulla registrazione
- Esempio di pre-registrazione: conferma automatica degli utenti di un dominio registrato
- Esempio di pre-registrazione: conferma e verifica automatica di tutti gli utenti
- Esempio di pre-registrazione: registrazione rifiutata se il nome utente ha meno di cinque caratteri
Flussi Lambda di pre-registrazione
Flusso di registrazione client
![Trigger Lambda di pre-registrazione - Flusso client](images/lambda-pre-sign-up-1.png)
Flusso di registrazione server
![Trigger Lambda di pre-registrazione - Flusso server](images/lambda-pre-sign-up-2.png)
La richiesta include i dati di convalida dal client. Questi dati provengono dai ValidationData
valori passati al pool di utenti SignUp e ai metodi AdminCreateUser API.
Parametri del trigger Lambda di pre-registrazione
La richiesta passata da Amazon Cognito a questa funzione Lambda è una combinazione dei parametri seguenti e dei parametri comuni aggiunti da Amazon Cognito a tutte le richieste.
Parametri di richiesta di pre registrazione
- userAttributes
-
Una o più coppie nome-valore che rappresentano gli attributi utente. I nomi di attributo sono le chiavi.
- validationData
-
Una o più coppie chiave-valore con i dati degli attributi utente che la tua app ha passato ad Amazon Cognito nella richiesta di creazione di un nuovo utente. Invia queste informazioni alla tua funzione Lambda nel ValidationData parametro della tua richiesta AdminCreateUsero SignUpAPI.
Amazon Cognito non imposta ValidationData i tuoi dati come attributi dell'utente che crei. ValidationData sono informazioni temporanee sull'utente fornite ai fini del trigger Lambda prima della registrazione.
- clientMetadata
-
Una o più coppie chiave-valore che è possibile fornire come input personalizzato alla funzione Lambda specificata per il trigger di pre-registrazione. Puoi passare questi dati alla tua funzione Lambda utilizzando il ClientMetadata parametro nelle seguenti azioni API: AdminCreateUser, AdminRespondToAuthChallengeForgotPassword, e. SignUp
Parametri di risposta di pre-registrazione
Nella risposta, puoi impostare autoConfirmUser
su true
se desideri auto confermare l'utente. Puoi impostare autoVerifyEmail
su true
per auto verificare l'e-mail dell'utente. Puoi impostare autoVerifyPhone
su true
per auto verificare il numero di telefono dell'utente.
Nota
I parametri di risposta autoVerifyPhone
, autoVerifyEmail
e autoConfirmUser
vengono ignorati da Amazon Cognito quando la funzione Lambda di pre-registrazione viene attivata dall'API AdminCreateUser
.
- autoConfirmUser
-
Impostare su
true
per auto confermare l'utente o altrimenti sufalse
. - autoVerifyEmail
-
Imposta su
true
per definire come verificato il messaggio e-mail di un utente che sta effettuando la registrazione o altrimenti sufalse
. SeautoVerifyEmail
è impostato sutrue
, l'attributo dellaemail
deve avere un valore valido e non nullo. In caso contrario, si verificherà un errore e l'utente non sarà in grado di completare la registrazione.Se l'attributo
email
è selezionato come alias, viene creato un alias per l'indirizzo e-mail dell'utente quando è impostatoautoVerifyEmail
. Se esiste già un alias con quell'indirizzo e-mail, l'alias verrà spostato al nuovo utente e l'indirizzo e-mail dell'utente precedente verrà contrassegnato come non verificato. Per ulteriori informazioni, consulta Personalizzazione degli attributi di accesso. - autoVerifyPhone
-
Imposta su
true
per impostare come verificato il numero di telefono di un utente che sta effettuando la registrazione o altrimenti sufalse
. SeautoVerifyPhone
è impostato sutrue
, l'attributo dellaphone_number
deve avere un valore valido e non nullo. In caso contrario, si verificherà un errore e l'utente non sarà in grado di completare la registrazione.Se l'attributo del
phone_number
è selezionato come un alias, un alias verrà creato per il numero di telefono dell'utente quandoautoVerifyPhone
è impostato. Se esiste già un alias con quel numero di telefono, l'alias verrà spostato al nuovo utente e il numero di telefono dell'utente precedente verrà contrassegnato come non verificato. Per ulteriori informazioni, consulta Personalizzazione degli attributi di accesso.
Tutorial sulla registrazione
La funzione Lambda di pre-registrazione viene attivata prima della registrazione dell'utente. Guarda questi tutorial di iscrizione ad Amazon Cognito per JavaScript Android e iOS.
Piattaforma | Tutorial |
---|---|
JavaScript SDK per le identità | Registra gli utenti con JavaScript |
SDK di identità per Android | Registrazione degli utenti con Android |
SDK di identità per iOS | Registrazione degli utenti con iOS |
Esempio di pre-registrazione: conferma automatica degli utenti di un dominio registrato
Puoi utilizzare il trigger Lambda di pre-registrazione per aggiungere una logica personalizzata che convalida i nuovi utenti che si registrano al tuo bacino d'utenza. Questo è un JavaScript programma di esempio che mostra come registrare un nuovo utente. Richiama un trigger Lambda di pre-registrazione nell'ambito del processo di autenticazione.
Questo è un trigger Lambda di esempio richiamato appena prima della registrazione con il trigger Lambda di pre-registrazione del bacino d'utenza. Utilizza un attributo personalizzato custom:domain per confermare automaticamente i nuovi utenti di un determinato dominio e-mail. Tutti i nuovi utenti che non fanno parte del dominio personalizzato verranno aggiunti al bacino d'utenza, ma non saranno confermati automaticamente.
Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice:
Esempio di pre-registrazione: conferma e verifica automatica di tutti gli utenti
Questo esempio conferma tutti gli utenti e imposta lo stato di avvenuta verifica per gli attributi email
e phone_number
dell'utente se presenti. Inoltre, se l'aliasing è abilitato, saranno creati gli alias per phone_number
e email
nei casi in cui è impostata la verifica automatica.
Nota
Se esiste già un alias con lo stesso numero di telefono, l'alias verrà spostato al nuovo utente e il phone_number
dell'utente precedente verrà contrassegnato come non verificato. Lo stesso vale per gli indirizzi e-mail. Per evitare che ciò accada, puoi utilizzare l'ListUsers API dei pool di utenti per vedere se esiste un utente esistente che sta già utilizzando il numero di telefono o l'indirizzo e-mail del nuovo utente come alias.
Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice:
Esempio di pre-registrazione: registrazione rifiutata se il nome utente ha meno di cinque caratteri
Questo esempio verifica la lunghezza del nome utente in una richiesta di registrazione. L'esempio restituisce un errore se l'utente immette un nome con meno di cinque caratteri.
Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice: