繁体   English   中英

AWS Cognito Identity Null

[英]AWS Cognito Identity Null

我正在使用AWS Cognito进行用户身份验证,我正在尝试测试未经身份验证的用户,但我从Cognito获得的只是一个空身份。 以下代码位于viewDidLoad方法上:

AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider
                       credentialsWithRegionType:AWSRegionUSEast1
                       accountId:@"XXXXXXXXXXXX"
                       identityPoolId:@"us-east-1:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
                       unauthRoleArn:@"arn:aws:iam::XXXXXXXXXXXX:role/Cognito_XXXXXXXXXUnauth_DefaultRole"
                       authRoleArn:@"arn:aws:iam::XXXXXXXXXXXX:role/Cognito_XXXXXXXXXAuth_DefaultRole"];

AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1
                                                                      credentialsProvider:credentialsProvider];

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;

[[credentialsProvider getIdentityId] continueWithSuccessBlock:^id(BFTask *task){
    NSString* cognitoId = credentialsProvider.identityId;
    NSLog(@"cognitoId: %@", cognitoId);
    //[self launchCount];
    return nil;
}];

所以从上面的NSLog我得到:

cognitoId: (null)

以下是授权和未授权用户的Cognito身份验证策略:

{
  "Version": "2012-10-17",
  "Statement":[{
  "Effect":"Allow",
  "Action":"cognito-sync:*",
  "Resource":["arn:aws:cognito-sync:us-east-1:XXXXXXXXXXXX:identitypool/${cognito- identity.amazonaws.com:aud}/identity/${cognito-identity.amazonaws.com:sub}/*"]
  }]
}

任何想法可能是什么,或者我做错了什么?

请运行此代码并告知错误。

[[credentialsProvider getIdentityId] continueWithBlock:^id(BFTask *task){

if (task.error == nil)
{
   NSString* cognitoId = credentialsProvider.identityId;
   NSLog(@"cognitoId: %@", cognitoId);               
}
else
{
    NSLog(@"Error : %@", task.error);
}

return nil;
}];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM