AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Come posso implementare l'autenticazione senza password nel mio pool di utenti Cognito?
Desidero implementare l'autenticazione senza password nel mio pool di utenti Amazon Cognito.
Breve descrizione
Amazon Cognito supporta due metodi di autenticazione senza password:
Importante:
- Se hai bisogno dell'autenticazione a più fattori (MFA) nel pool di utenti, non puoi utilizzare l'autenticazione senza password.
- Dopo l'autenticazione iniziale di un utente, puoi registrare fino a 20 passkey WebAuthn.
- L'autenticazione senza password è disponibile solo nell'autenticazione basata sulla scelta AuthFlow di ALLOW_USER_AUTH.
- Devi avere il piano con funzionalità Essentials o Plus per utilizzare l'autenticazione basata sulla scelta.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Autenticazione OTP
Attiva l'autenticazione OTP
Completa i seguenti passaggi:
- Apri la console Amazon Cognito.
- Seleziona il pool di utenti.
- In Autenticazione, scegli la scheda Accedi.
- Per Opzioni per l'accesso basato sulla scelta, scegli Modifica.
- Scegli Password monouso per messaggio e-mail o Password monouso per messaggio SMS.
- Scegli Salva le modifiche.
- Scegli Client dell'app, quindi seleziona il client dell'app. Oppure creane uno nuovo.
- In Informazioni sul client dell'app, scegli Modifica.
- Scegli Accesso basato sulla scelta: ALLOW_USER_AUTH.
- Scegli Salva le modifiche.
Implementa l'autenticazione OTP
L'autenticazione senza password funziona solo con l'accesso gestito. La classica interfaccia utente ospitata non supporta i flussi di autenticazione senza password integrati. Per ulteriori informazioni, consulta Cose da sapere sull'autenticazione con pool di utenti.
Per implementare l'autenticazione OTP, completa i seguenti passaggi:
- Configura l'accesso gestito.
- Configura il dominio con prefisso per indirizzare gli utenti a inserire il proprio nome utente nella pagina di accesso gestito. Per utilizzare un dominio personalizzato, consulta Utilizzo del proprio dominio per l'accesso gestito.
Per utilizzare AWS CLI, completa i seguenti passaggi:
-
Esegui il comando initiate-auth per avviare l'autenticazione:
aws cognito-idp initiate-auth --auth-flow USER_AUTH --auth-parameters USERNAME=example_username --client-id example_clientidNota: sostituisci tutti gli esempi di valori con i tuoi valori. Se inserisci un PREFERRED_CHALLENGE nel comando precedente, procedi al passaggio 4.
-
La risposta include le seguenti verifiche disponibili:
{ "AvailableChallenges": [ "EMAIL_OTP", "SMS_OTP", "PASSWORD" ], "Session": "[Session ID]" }Nota: utilizza l'ID di sessione della risposta precedente in tutti i comandi di autenticazione successivi all'interno dello stesso flusso di autenticazione.
-
Dopo che gli utenti hanno selezionato il metodo di autenticazione preferito, esegui il comando respond-to-auth-challenge per inviare la scelta:
aws cognito-idp respond-to-auth-challenge --challenge-name SELECT_CHALLENGE --challenge-responses USERNAME=example_username,ANSWER=EMAIL_OTP --client-id example_clientid --session "SESSION_ID_FROM_PREVIOUS_RESPONSE"Nota: se l'utente è idoneo per il metodo di verifica selezionato, Amazon Cognito invia un codice alla sua e-mail o al suo numero di telefono.
-
Per avviare il metodo di autenticazione con uno specifico PREFERRED_CHALLENGE, esegui il comando initiate-auth:
aws cognito-idp initiate-auth --auth-flow USER_AUTH --auth-parameters USERNAME=example_username,PREFERRED_CHALLENGE=EMAIL_OTP --client-id example_clientidNota: sostituisci EMAIL_OTP con SMS_OTP se preferisci l'autenticazione con SMS. Se l'utente è idoneo per il metodo PREFERRED_CHALLENGE, Amazon Cognito invia un codice alla sua e-mail o al suo numero di telefono.
-
Esegui il comando respond-to-auth-challenge per restituire una risposta:
aws cognito-idp admin-respond-to-auth-challenge --challenge-name EMAIL_OTP --challenge-responses USERNAME=example_username,EMAIL_OTP_CODE=OTP_EMAIL --client-id example_clientid --session "SESSION_ID_FROM_PREVIOUS_RESPONSE"Nota: sostituisci EMAIL_OTP con SMS_OTP e EMAIL_OTP_CODE con SMS_OTP_CODE se utilizzi l'autenticazione con SMS.
Dopo la verifica OTP, gli utenti ricevono i token web JSON (JWT) generati da Amazon Cognito.
Autenticazione con passkey WebAuthn
Attiva l'autenticazione con passkey WebAuthn
Completa i seguenti passaggi:
- Apri la console Amazon Cognito.
- Seleziona il pool di utenti.
- In Autenticazione, scegli la scheda Accedi.
- Per Opzioni per l'accesso basato sulla scelta, scegli Modifica, quindi aggiungi Passkey alle scelte disponibili.
- Scegli Modifica passkey, quindi configura le seguenti impostazioni:
Per Verifica dell'utente, scegli come metodo Preferito o Obbligatorio.
Imposta ID parte affidabile sul dominio del pool di utenti, sul dominio personalizzato o sul dominio di terze parti.
Nota: l'opzione ID parte affidabile controlla il dominio che può utilizzare la passkey per la registrazione e l'autenticazione. - Scegli Salva le modifiche.
- Scegli Client dell'app, quindi seleziona il client dell'app. Oppure creane uno nuovo.
- In Informazioni sul client dell'app, scegli Modifica.
- Scegli Accesso basato sulla scelta: ALLOW_USER_AUTH.
- Scegli Salva le modifiche.
Registra la passkey WebAuthn per un utente nell'accesso gestito
Completa i seguenti passaggi:
-
Configura l'accesso gestito nel client dell'app.
Nota: Amazon Cognito richiede automaticamente l'impostazione della passkey per la registrazione di nuovi utenti. -
Per gli utenti attuali che non hanno registrato una passkey, configura l'applicazione in modo da reindirizzarli al seguente endpoint di autenticazione:
https://auth.example.com/oauth2/authorize/?client_id=1example23456789&response_type=code&scope=email+openid+phone&redirect_uri=https://www.example.com -
Esegui questo comando list-web-authn-credentials per verificare le passkey registrate:
aws cognito-idp list-web-authn-credentials --access-token token-from-above-stepEsempio di output:
{ "Credentials": [ { "CredentialId": "r8DCexamplecredentialsaWMQ", "FriendlyCredentialName": "Chrome on Mac", "RelyingPartyId": "<cognito-prefix>.auth.us-east-1.amazoncognito.com", "AuthenticatorAttachment": "platform", "AuthenticatorTransports": [ "internal" ], "CreatedAt": "2025-06-27T07:41:15.800000+00:00" } ] } -
Se il comando precedente restituisce un elenco vuoto, reindirizza gli utenti al seguente URL di accesso gestito per iniziare il processo di registrazione della passkey:
https://cognito-managed-login-domain/passkeys/add?client_id=example_client_id&redirect_uri=https://www.example.com
Nota: assicurati di avere una sessione del browser attiva dall'accesso gestito di Cognito. Inoltre, aggiungi i parametri OAuth richiesti, come response_type e scope.
Nella pagina con URL passkeys/add, l'utente aggiunge una passkey. Dopodiché Amazon Cognito lo reindirizza alla pagina dell'applicazione specificata nel parametro redirect_uri. Per i successivi accessi dalla pagina di accesso gestito, l'utente potrà utilizzare la sua passkey registrata.
Informazioni correlate
Modelli di autorizzazione per l'autenticazione tramite API e SDK
- Argomenti
- Security, Identity, & Compliance
- Lingua
- Italiano

Contenuto pertinente
AWS UFFICIALEAggiornata 4 anni fa
AWS UFFICIALEAggiornata 4 anni fa