Autenticazione con un bacino d'utenza - 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à.

Autenticazione con un bacino d'utenza

Gli utenti della tua app possono accedere direttamente tramite un pool di utenti oppure possono federarsi tramite un provider di identità (IdP) di terze parti. Il pool di utenti gestisce il sovraccarico di gestione dei token restituiti dall'accesso social tramite Facebook, Google, Amazon e Apple e da OpenID Connect (OIDC) e SAML. IdPs

Una volta completata l'autenticazione, Amazon Cognito restituisce i token del bacino d'utenza all'App. Puoi utilizzare i token per concedere agli utenti l'accesso alle risorse lato server o ad Amazon API Gateway. In alternativa, puoi scambiarli con credenziali per accedere ad altri servizi. AWS AWS

Panoramica sull'autenticazione

Il trattamento e la gestione dei token del bacino d'utenza per l'App Web o per dispositivi mobili avvengono lato client tramite gli SDK di Amazon Cognito. In modo analogo, Mobile SDK for iOS e Mobile SDK for Android aggiornano automaticamente i token ID e di accesso se esiste un token di aggiornamento valido (non scaduto) e i token ID e di accesso hanno un validità residua di almeno 5 minuti. Per informazioni sugli SDK e sul codice di esempio per Android e iOS JavaScript, consulta gli SDK del pool di utenti di Amazon Cognito.

Dopo che l'utente dell'app ha effettuato l'accesso, Amazon Cognito crea una sessione e restituisce un token ID, un token di accesso e un token di aggiornamento per l'utente autenticato.

JavaScript
// Amazon Cognito creates a session which includes the id, access, and refresh tokens of an authenticated user. var authenticationData = { Username : 'username', Password : 'password', }; var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData); var poolData = { UserPoolId : 'us-east-1_ExaMPle', ClientId : '1example23456789' }; var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData); var userData = { Username : 'username', Pool : userPool }; var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData); cognitoUser.authenticateUser(authenticationDetails, { onSuccess: function (result) { var accessToken = result.getAccessToken().getJwtToken(); /* Use the idToken for Logins Map when Federating User Pools with identity pools or when passing through an Authorization Header to an API Gateway Authorizer */ var idToken = result.idToken.jwtToken; }, onFailure: function(err) { alert(err); }, });
Android
// Session is an object of the type CognitoUserSession, and includes the id, access, and refresh tokens for a user. String idToken = session.getIdToken().getJWTToken(); String accessToken = session.getAccessToken().getJWT();
iOS - swift
// AWSCognitoIdentityUserSession includes id, access, and refresh tokens for a user. - (AWSTask<AWSCognitoIdentityUserSession *> *)getSession;
iOS - objective-C
// AWSCognitoIdentityUserSession includes the id, access, and refresh tokens for a user. [[user getSession:@"username" password:@"password" validationData:nil scopes:nil] continueWithSuccessBlock:^id _Nullable(AWSTask<AWSCognitoIdentityUserSession *> * _Nonnull task) { // success, task.result has user session return nil; }];