Authentification avec un groupe d'utilisateurs - Amazon Cognito

Authentification avec un groupe d'utilisateurs

Les utilisateurs de votre appli peuvent se connecter directement via un groupe d'utilisateurs, ou se fédérer via un fournisseur d'identité tiers. Le groupe d'utilisateurs gère la surcharge liée au traitement des jetons que renvoient les connexions via les réseaux sociaux Facebook, Google, Amazon et Apple, ainsi que les fournisseurs d'identité OpenID Connect (OIDC) et SAML.

Après authentification, Amazon Cognito renvoie des jetons de groupe d'utilisateurs à votre application. Vous pouvez utiliser les jetons pour accorder à vos utilisateurs l'accès à vos ressources côté serveur, ou au service Amazon API Gateway. Vous pouvez également les échanger contre des informations d'identification AWS pour accéder à d'autres services AWS.


      Présentation de l'authentification

Le traitement et la gestion des jetons de groupe d'utilisateurs pour votre application web ou mobile sont assurés côté client via des kits SDK Amazon Cognito. De même, les kits SDK Mobile pour iOS et Android actualisent automatiquement vos jetons d'identification et d'accès si un jeton d'actualisation valide (non expiré) est présent, et que les jetons d'identification et d'accès ont une durée de validité restante d'au moins 5 minutes. Pour plus d'informations sur les kits SDK et consulter un exemple de code pour JavaScript, Android et iOS, consultez Kits SDK de groupe d'utilisateurs Amazon Cognito.

Une fois votre utilisateur d'appli connecté, Amazon Cognito crée une session et renvoie un jeton d'identification, d'accès et d'actualisation pour l'utilisateur authentifié.

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; }];