我正在使用AWS开发工具包2.6.35在iOS上进行开发(请参见编辑,与当前开发工具包2.8.4相同的问题)
我正在使用带有电子邮件/密码的AWSAuthUI。
没有我知道的任何更改,我现在得到了这种奇怪的,可100%再现的行为:
尝试使用电子邮件/密码(在正确的池中使用现有的用户/密码)登录失败,并显示以下错误:
Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=5
"(null)" UserInfo={__type=InvalidIdentityPoolConfigurationException,
message=Invalid identity pool configuration. Check assigned IAM roles
for this pool.}
编辑:升级AWS开发工具包后,现在出现此错误:
Error: Error Domain=com.amazonaws.AWSCognitoCredentialsProviderErrorDomain
Code=2 "GetCredentialsForIdentity keeps failing. Clearing identityId did
not help. Please check your Amazon Cognito Identity configuration."
UserInfo={NSLocalizedDescription=GetCredentialsForIdentity keeps failing.
Clearing identityId did not help. Please check your Amazon Cognito Identity
configuration.}
但是当我重新启动应用程序时,[[AWSSignInManager sharedInstance] isLoggedIn]
是true
,并且我已自动登录。
awsconfiguration.json已从AWS Mobile Hub下载。
这是IAM角色(默认,也由AWS Mobile Hub创建):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cognito-identity:GetId"
],
"Resource": [
"arn:aws:cognito-identity:*:*:identityPool/us-xxxxx-x:xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
]
}
]
}
因此,如果登录成功,为什么会出现此错误?
我刚升级到AWS开发工具包2.8.4,同样的问题。
更正了错误消息(现在来自SDK 2.8.4)