我在iOS应用程序中为Amazon Cognito us设置了开发人员身份验证身份集
我已按照文档中的教程进行操作: Using Developer Authenticated Identities
我的后端能够生成令牌并获得identityIds没有问题。 我可以按照指示在我的iOS应用中初始化cognito。 但是我在发出dynamoDb请求时会收到错误
The security token included in the request is invalid
Cognito初始化代码:
MyIdentityProvider *identityProvider = [MyIdentityProvider new];
[identityProvider setIdentityPoolId:COGNITO_POOL_ID];
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc]
initWithRegionType:AWSRegionUSEast1
identityProvider:identityProvider
unauthRoleArn:nil
authRoleArn:COGNITO_ROLE_AUTH];
AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1
credentialsProvider:credentialsProvider];
[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;
[[credentialsProvider getIdentityId] continueWithSuccessBlock:^id(BFTask *task){
//In here I can see that everything is ok.
//I have a token and cognitoId
//But despite this, when I make requests I get "The security token included in the request is invalid"
return nil;
}];
有谁知道我可能做错了什么?
答案 0 :(得分:0)
getIdentityId
仅确保您获得identityId,您可能希望验证您是否可以在凭据提供程序上成功调用refresh
,因为这将确保您能够成功获取凭据。在生产中不必明确地调用refresh
,但在测试中可能是有价值的。
有些事情也可能让你失望,那就是你没有包含一个不道德的角色。确保您的身份提供商没有遇到this question中提到的问题,这会阻止其获取您的身份验证角色。