사용자 풀을 사용한 인증 - Amazon Cognito

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 풀을 사용한 인증

앱 사용자는 사용자 풀을 통해 직접 로그인하거나 타사 ID 공급자 (IdP) 를 통해 페더레이션할 수 있습니다. 사용자 풀은 페이스북, 구글, 아마존, 애플을 통한 소셜 로그인과 OpenID Connect (OIDC) 및 SAML에서 반환되는 토큰을 처리하는 오버헤드를 관리합니다. IdPs

인증 성공 이후 Amazon Cognito는 앱으로 사용자 풀 토큰을 반환합니다. 이 토큰을 사용하여 자체 서버 측 리소스 또는 Amazon API Gateway에 대한 액세스 권한을 부여할 수 있습니다. 또는 다른 서비스에 액세스하기 위한 AWS 자격 증명으로 교환할 수도 있습니다. AWS

인증 개요

웹 또는 모바일 앱에서의 사용자 풀 토큰 처리 및 관리는 Amazon Cognito SDK를 통해 클라이언트 측에서 제공됩니다. 마찬가지로 유효한(기간이 만료되지 않은) 새로 고침 토큰이 존재하고 ID 및 액세스 토큰의 유효 기간이 최소 5분 남아 있는 경우, Mobile SDK for iOS 및 Mobile SDK for Android는 ID 및 액세스 토큰을 자동으로 새로 고침합니다. Android 및 iOS용 SDK 및 샘플 코드에 대한 JavaScript 자세한 내용은 Amazon Cognito 사용자 풀 SDK를 참조하십시오.

앱 사용자가 성공적으로 로그인하면 Amazon Cognito가 세션을 생성하고 인증된 사용자를 위한 ID, 액세스 및 새로 고침 토큰을 반환합니다.

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