Autenticação com um grupo de usuários - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Autenticação com um grupo de usuários

Os usuários da aplicação podem fazer login diretamente por meio de um grupo de usuários ou federar por meio de um provedor de identidade de terceiros (IdP). O grupo de usuários gerencia a sobrecarga de lidar com os tokens retornados de logins sociais por meio do Facebook, Google, Amazon e da Apple, e do OpenID Connect (OIDC) e IdPs SAML.

Depois da autenticação bem-sucedida, o Amazon Cognito retorna tokens do grupo de usuários à sua aplicação. Você pode usar os tokens para conceder aos usuários acesso aos seus próprios recursos no lado do servidor ou ao Amazon API Gateway. Outra opção é trocá-los por credenciais da AWS temporárias para acessar outros serviços da AWS.


      Visão geral de autenticação

O processamento e o gerenciamento de tokens do grupo de usuários para a aplicação da Web ou para dispositivos móveis são fornecidos no lado do cliente por meio dos SDKs do Amazon Cognito. Da mesma forma, o Mobile SDK for iOS e o Mobile SDK for Android atualizam automaticamente seus tokens de ID e de acesso se houver um token de atualização válido (não expirado) presente, e os tokens de ID e de acesso tiverem uma validade mínima restante de cinco minutos. Para informações sobre SDKs e um código de exemplo para JavaScript, Android e iOS, consulte Amazon Cognito user pool SDKs (SDKs para grupo de usuários do Amazon Cognito).

Depois que o usuário da aplicação faz login com êxito, o Amazon Cognito cria uma sessão e retorna um token de ID, de acesso e de atualização para o usuário autenticado.

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