기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 풀을 사용한 인증
앱 사용자는 사용자 풀을 통해 직접 로그인하거나 타사 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;
}];