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à.
Utilizzo dei pool di utenti API e del server di autorizzazione
Quando desideri eseguire la registrazione, l'accesso e la gestione di utenti nel pool di utenti, puoi utilizzare due opzioni.
-
Gli endpoint del pool di utenti includono l'interfaccia utente ospitata e gli endpoint di federazione. Costituiscono un pacchetto di pagine web pubbliche che vengono attivate da Amazon Cognito quando scegli un dominio per il pool di utenti. Per iniziare rapidamente con le funzionalità di autenticazione e autorizzazione dei pool di utenti di Amazon Cognito, comprese le pagine per la registrazione, l'accesso, la gestione delle password e l'autenticazione a più fattori (MFA), utilizza l'interfaccia utente integrata dell'interfaccia utente ospitata. Gli altri endpoint del pool di utenti facilitano l'autenticazione con provider di identità di terze parti (). IdPs I servizi che vengono eseguiti includono quanto segue.
-
Endpoint di callback del fornitore di servizi per reclami autenticati provenienti da te, come e. IdPs
saml2/idpresponse
oauth2/idpresponse
Quando Amazon Cognito è un provider di servizi (SP) intermedio tra l'app e l'IdP, gli endpoint di callback rappresentano il servizio. -
Endpoint che forniscono informazioni sull'ambiente, ad esempio
oauth2/userInfo
ejwks.json
. La tua app utilizza questi endpoint quando verifica i token o recupera i dati del profilo utente con le librerie e 2.0. AWS SDKs OAuth
-
-
I pool di utenti di Amazon Cognito API sono un set di strumenti per la tua app web o mobile, dopo aver raccolto le informazioni di accesso nel tuo front-end personalizzato, per autenticare gli utenti. L'APIautenticazione dei pool di utenti produce i seguenti token web. JSON
-
Un token di identità con richieste di attributi verificabili da parte dell'utente.
-
Nota
Per impostazione predefinita, i token di accesso provenienti dall'APIautenticazione dei pool di utenti contengono solo l'ambito.
aws.cognito.signin.user.admin
Per generare un token di accesso con ambiti aggiuntivi, ad esempio per autorizzare una richiesta a una terza parteAPI, richiedere gli ambiti durante l'autenticazione tramite gli endpoint del pool di utenti o aggiungere ambiti personalizzati in un. Trigger Lambda di pre-generazione del token La personalizzazione dei token di accesso aggiunge costi alla bolletta. AWS
-
Puoi collegare un utente federato, che normalmente accede tramite gli endpoint dei pool di utenti, con un utente il cui profilo è locale al pool di utenti. Un utente locale esiste esclusivamente nella directory del pool di utenti senza federazione tramite un IdP esterno. Se colleghi la loro identità federata a un utente locale in una AdminLinkProviderForUserAPIrichiesta, possono accedere con i pool di utenti. API Per ulteriori informazioni, consulta Collegamento di utenti federati a un profilo utente esistente.
I pool di utenti di Amazon Cognito hanno un duplice API scopo. Consente di creare e configurare le risorse dei pool di utenti di Amazon Cognito. Ad esempio, puoi creare pool di utenti, aggiungere AWS Lambda trigger e configurare il dominio dell'interfaccia utente ospitato. I pool di utenti eseguono API anche la registrazione, l'accesso e altre operazioni utente per utenti locali e collegati.
Scenario di esempio con i pool di utenti di Amazon Cognito API
-
L'utente seleziona il pulsante "Crea un account" creato nell'app. Inserisce un indirizzo e-mail e una password.
-
La tua app invia una SignUpAPIrichiesta e crea un nuovo utente nel tuo pool di utenti.
-
L'app richiede all'utente un codice di conferma e-mail. Gli utenti inseriscono il codice ricevuto in un messaggio di posta elettronica.
-
L'app invia una ConfirmSignUpAPIrichiesta con il codice di conferma dell'utente.
-
L'app richiede all'utente il nome utente e password. Le relative informazioni vengono inserite.
-
L'app invia una InitiateAuthAPIrichiesta e memorizza un token ID, un token di accesso e un token di aggiornamento. L'app chiama le OIDC librerie per gestire i token dell'utente e mantenere una sessione persistente per quell'utente.
Nei pool di utenti di Amazon CognitoAPI, non puoi accedere agli utenti che si federano tramite un IdP. Questi utenti devono essere autenticati tramite gli endpoint del pool di utenti. Per ulteriori informazioni sugli endpoint del pool di utenti che includono l'interfaccia utente ospitata, consultare Endpoint del pool di utenti e riferimento all'interfaccia utente ospitata. Gli utenti federati possono accedere all'interfaccia utente ospitata e selezionare il provider di identità oppure puoi inviare gli utenti direttamente al provider di identità per l'accesso, ignorando l'interfaccia utente ospitata. Quando la tua API richiesta Endpoint Authorize include un parametro IdP, Amazon Cognito reindirizza silenziosamente l'utente alla pagina di accesso IdP.
Scenario di esempio con endpoint del pool di utenti
-
L'utente seleziona il pulsante "Crea un account" creato nell'app.
-
L'utente riceve un elenco di provider di identità social in cui sono state registrate le credenziali sviluppatore. L'utente sceglie Apple.
-
L'app avvia una richiesta a Endpoint Authorize con il nome di provider
SignInWithApple
. -
Il browser dell'utente apre la pagina di autorizzazione Apple. OAuth L'utente sceglie di consentire ad Amazon Cognito di leggere le informazioni sul profilo.
-
Amazon Cognito conferma il token di accesso Apple ed esegue una query sul profilo Apple dell'utente.
-
L'utente presenta un codice di autorizzazione Amazon Cognito all'app.
-
L'app scambia il codice di autorizzazione con Endpoint Token e memorizza un token ID, un token di accesso e un token di aggiornamento. L'app richiama le OIDC librerie per gestire i token dell'utente e mantenere una sessione persistente per quell'utente.
I pool di utenti API e gli endpoint del pool di utenti supportano una varietà di scenari, descritti in questa guida. Le sezioni seguenti esaminano in che modo i pool di utenti si dividono API ulteriormente in classi che supportano i requisiti di registrazione, accesso e gestione delle risorse.
Pool di utenti di Amazon Cognito, operazioni autenticate e non autenticate API
I pool di utenti di Amazon CognitoAPI, sia un'interfaccia di gestione delle risorse che un'interfaccia di autenticazione e autorizzazione rivolta all'utente, combinano i modelli di autorizzazione che seguono le sue operazioni. A seconda dell'APIoperazione, potrebbe essere necessario fornire l'autorizzazione con IAM credenziali, un token di accesso, un token di sessione, un client secret o una combinazione di questi. Per molte operazioni di autenticazione e autorizzazione utente, è possibile scegliere tra versioni autenticate e non autenticate della richiesta. Le operazioni non autenticate sono best practice di sicurezza per le app distribuite agli utenti, come app per dispositivi mobili; non è necessario includere alcun segreto nel codice.
È possibile assegnare le autorizzazioni solo nelle IAM politiche per e. IAM-operazioni di gestione autenticate IAM-operazioni utente autenticate
IAM-le operazioni di gestione autenticate modificano e visualizzano la configurazione del pool di utenti e del client dell'app, come faresti in. AWS Management Console
Ad esempio, per modificare il pool di utenti in una UpdateUserPoolAPIrichiesta, è necessario presentare AWS le credenziali e le IAM autorizzazioni per aggiornare la risorsa.
Per autorizzare queste richieste in AWS Command Line Interface (AWS CLI) o in un AWS SDK, configurate l'ambiente con variabili di ambiente o una configurazione del client che aggiunga IAM credenziali alla richiesta. Per ulteriori informazioni, consulta Accesso AWS tramite AWS credenziali in. Riferimenti generali di AWS Puoi anche inviare richieste direttamente agli endpoint del servizio per i pool di utenti di Amazon Cognito. API È necessario autorizzare o firmare queste richieste con le credenziali AWS integrate nell'intestazione della richiesta. Per ulteriori informazioni, consulta Firmare AWS API le richieste.
IAM-operazioni di gestione autenticate |
---|
AddCustomAttributes |
CreateGroup |
CreateIdentityProvider |
CreateResourceServer |
CreateUserImportJob |
CreateUserPool |
CreateUserPoolClient |
CreateUserPoolDomain |
DeleteGroup |
DeleteIdentityProvider |
DeleteResourceServer |
DeleteUserPool |
DeleteUserPoolClient |
DeleteUserPoolDomain |
DescribeIdentityProvider |
DescribeResourceServer |
DescribeRiskConfiguration |
DescribeUserImportJob |
DescribeUserPool |
DescribeUserPoolClient |
DescribeUserPoolDomain |
GetCSVHeader |
GetGroup |
GetIdentityProviderByIdentifier |
GetSigningCertificate |
GetUICustomization |
GetUserPoolMfaConfig |
ListGroups |
ListIdentityProviders |
ListResourceServers |
ListTagsForResource |
ListUserImportJobs |
ListUserPoolClients |
ListUserPools |
ListUsers |
ListUsersInGroup |
SetRiskConfiguration |
SetUICustomization |
SetUserPoolMfaConfig |
StartUserImportJob |
StopUserImportJob |
TagResource |
UntagResource |
UpdateGroup |
UpdateIdentityProvider |
UpdateResourceServer |
UpdateUserPool |
UpdateUserPoolClient |
UpdateUserPoolDomain |
IAM-operazioni utente autenticate: registrazione, accesso, gestione delle credenziali, modifica e visualizzazione degli utenti.
Ad esempio, un livello applicazione lato server potrebbe eseguire il backup di un front-end Web. La tua app lato server è un client OAuth riservato di cui ti fidi con accesso privilegiato alle tue risorse Amazon Cognito. Per registrare un utente nell'app, il tuo server può includere AWS credenziali in una richiesta. AdminCreateUserAPI Per ulteriori informazioni sui tipi di OAuth client, vedere Tipi di client
Per autorizzare queste richieste in alternativa AWS SDK, configura l' AWS CLI ambiente dell'app lato server con variabili di ambiente o una configurazione client che aggiunga IAM credenziali alla richiesta. Per ulteriori informazioni, consulta Accesso AWS tramite credenziali AWS in. Riferimenti generali di AWS Puoi anche inviare richieste direttamente agli endpoint del servizio per i pool di utenti di Amazon Cognito. API È necessario autorizzare o firmare queste richieste con le credenziali AWS integrate nell'intestazione della richiesta. Per ulteriori informazioni, consulta Firmare AWS API le richieste.
Se il client dell'app dispone di un client secret, è necessario fornire sia IAM le credenziali che, a seconda dell'operazione, il SecretHash
parametro o il SECRET_HASH
valore inAuthParameters
. Per ulteriori informazioni, consulta Calcolo dei valori SecretHash.
IAM-operazioni utente autenticate |
---|
AdminAddUserToGroup |
AdminConfirmSignUp |
AdminCreateUser |
AdminDeleteUser |
AdminDeleteUserAttributes |
AdminDisableProviderForUser |
AdminDisableUser |
AdminEnableUser |
AdminForgetDevice |
AdminGetDevice |
AdminGetUser |
AdminInitiateAuth |
AdminLinkProviderForUser |
AdminListDevices |
AdminListGroupsForUser |
AdminListUserAuthEvents |
AdminRemoveUserFromGroup |
AdminResetUserPassword |
AdminRespondToAuthChallenge |
AdminSetUserMFAPreference |
AdminSetUserPassword |
AdminSetUserSettings |
AdminUpdateAuthEventFeedback |
AdminUpdateDeviceStatus |
AdminUpdateUserAttributes |
AdminUserGlobalSignOut |
Operazioni utente non autenticate: registrazione, accesso e avvio del ripristino delle password per gli utenti. Utilizza API operazioni non autenticate o pubbliche quando desideri che chiunque su Internet si registri e acceda alla tua app.
Ad esempio, per registrare un utente nella tua app, puoi distribuire un client OAuth pubblico che non fornisce alcun accesso privilegiato ai segreti. Puoi registrare questo utente con l'operazione non autenticataAPI. SignUp
Per inviare queste richieste in un client pubblico sviluppato con un AWS SDK, non è necessario configurare alcuna credenziale. Puoi anche inviare richieste direttamente agli endpoint del servizio per i API pool di utenti di Amazon Cognito senza autorizzazioni aggiuntive.
Se il client dell'app dispone di un segreto del client, devi fornire, a seconda dell'operazione, il parametro SecretHash
o il valore SECRET_HASH
in AuthParameters
. Per ulteriori informazioni, consulta Calcolo dei valori SecretHash.
Operazioni utente non autenticate |
---|
SignUp |
ConfirmSignUp |
ResendConfirmationCode |
ForgotPassword |
ConfirmForgotPassword |
InitiateAuth |
Le operazioni utente autorizzate tramite token consentono di disconnettersi, gestire le credenziali, modificare e visualizzare gli utenti dopo che hanno effettuato l'accesso o iniziato il processo di accesso. Utilizza API operazioni autorizzate da token quando non desideri distribuire segreti nella tua app e desideri autorizzare le richieste con le credenziali dell'utente. Se l'utente ha completato l'accesso, è necessario autorizzare la richiesta autorizzata dal token con un token API di accesso. Se il tuo utente è nel bel mezzo di una procedura di accesso, devi autorizzare la sua API richiesta autorizzata dal token con un token di sessione che Amazon Cognito ha restituito in risposta alla richiesta precedente.
Ad esempio, in un client pubblico, potrebbe essere necessario aggiornare il profilo di un utente in modo da limitare l'accesso in scrittura solo al profilo dell'utente. Per effettuare questo aggiornamento, il client può includere il token di accesso dell'utente in una richiesta. UpdateUserAttributesAPI
Per inviare queste richieste a un client pubblico sviluppato con un AWS
SDK, non è necessario configurare alcuna credenziale. Includi un parametro AccessToken
o Session
nella richiesta. Puoi anche inviare richieste direttamente agli endpoint del servizio per i pool di utenti di Amazon Cognito. API Per autorizzare una richiesta a un endpoint di servizio, includi il token di accesso o di sessione nel POST corpo della richiesta.
Per firmare una API richiesta per un'operazione autorizzata da token, includi il token di accesso come Authorization
intestazione nella richiesta, nel formato. Bearer
<Base64-encoded access
token>
Operazioni utente autorizzate tramite token | AccessToken | Sessione |
---|---|---|
RespondToAuthChallenge |
✓ | |
ChangePassword |
✓ | |
GetUser |
✓ | |
UpdateUserAttributes |
✓ | |
DeleteUserAttributes |
✓ | |
DeleteUser |
✓ | |
ConfirmDevice |
✓ | |
ForgetDevice |
✓ | |
GetDevice |
✓ | |
ListDevices |
✓ | |
UpdateDeviceStatus |
✓ | |
GetUserAttributeVerificationCode |
✓ | |
VerifyUserAttribute |
✓ | |
SetUserSettings |
✓ | |
SetUserMFAPreference |
✓ | |
GlobalSignOut |
✓ | |
AssociateSoftwareToken |
✓ | ✓ |
UpdateAuthEventFeedback |
✓ | |
VerifySoftwareToken |
✓ | ✓ |
RevokeToken ¹ |
¹ RevokeToken accetta un token di aggiornamento come parametro. Il token di aggiornamento funge da token di autorizzazione e come risorsa di destinazione.