【发布时间】:2016-10-20 13:48:29
【问题描述】:
我正在努力将用户池和身份与 AWS Cognito 集成。我不确定我是否应该在用户注册或登录时对用户进行身份验证。现在这就是我的登录方法的样子。
AWSCognitoIdentityUser *user = [self.pool getUser:self.emailField.text];
[[user getSession:self.emailField.text password:self.passwordField.text validationData:nil scopes:nil] continueWithBlock:^id _Nullable(AWSTask<AWSCognitoIdentityUserSession *> * _Nonnull task){
dispatch_async(dispatch_get_main_queue(), ^{
AWSServiceConfiguration *serviceConfiguration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil];
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 identityPoolId:IdentityPool identityProviderManager:self.pool];
[credentialsProvider getIdentityId];
[credentialsProvider credentials];
if(task.error)
{
[SVProgressHUD dismiss];
UIAlertController *alert = [alertViewController passwordsDontMatch];
[self presentViewController:alert animated:YES completion:nil];
}
else
{
[SVProgressHUD dismiss];
[self performSegueWithIdentifier:@"Enter" sender:self];
}
});
这是我的 AppDelegate。
AWSServiceConfiguration *serviceConfiguration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil];
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = serviceConfiguration;
AWSCognitoIdentityUserPoolConfiguration *configuration = [[AWSCognitoIdentityUserPoolConfiguration alloc] initWithClientId:ClientID clientSecret:ClientSecretId poolId:UserPoolId];
[AWSCognitoIdentityUserPool registerCognitoIdentityUserPoolWithConfiguration:serviceConfiguration userPoolConfiguration:configuration forKey:@"UserPool"];
AWSCognitoIdentityUserPool *pool = [AWSCognitoIdentityUserPool CognitoIdentityUserPoolForKey:@"UserPool"];
self.credentialProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 identityPoolId:IdentityPoolId];
AWSServiceConfiguration *config = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:self.credentialProvider];
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = config;
【问题讨论】:
标签: ios objective-c amazon-web-services authentication amazon-cognito