[英]AWS: How to properly authenticate a user against Cognito Pool and use it for Cognito Federated Identity?
[英]How to specify Amazon AWS User Pool in trust relationship with Cognito Identity
我有AWS Cognito用戶池登錄工作,我有一個聯合身份池,其中連接了用戶池,並在控制台中指定為身份驗證提供程序。
但現在我正努力在Cognito用戶池和Cognito Identity Pool之間建立信任。
在下面的代碼段中,您可以看到我對未經身份驗證的角色的信任關系。 (經過身份驗證的角色版本目前完全匹配,最終它不會,但我將它們設置為相同並賦予兩個角色特權以試圖使其工作)。 xxxx是預填充的CognitoIdentityId,yyyy是我的帳號,zzzz是Cognito用戶池ID。
當我嘗試創建信任關系並使用應用程序時,我不斷收到錯誤。 這是最常見的錯誤:
getCredentialsWithCognito:authenticated:customRoleArn:]_block_invoke | GetCredentialsForIdentity failed. Error is [Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=8 "(null)" UserInfo={__type=InvalidIdentityPoolConfigurationException, message=Invalid identity pool configuration. Check assigned IAM roles for this pool.}]
2016-08-29 21:50:11.634 signin[7778:1222711] AWSiOSSDK v2.4.7 [Error] AWSCredentialsProvider.m line:577 | __44-[AWSCognitoCredentialsProvider credentials]_block_invoke.352 | Unable to refresh. Error is [Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=8 "(null)" UserInfo={__type=InvalidIdentityPoolConfigurationException, message=Invalid identity pool configuration. Check assigned IAM roles for this pool.}]
信任關系:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "cognito-identity.amazonaws.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"cognito-identity.amazonaws.com:aud": "us-east-1:xxxxxxxxx”,
"cognito-idp.amazonaws.com:aud": "arn:aws:cognito-idp:us-east-1:yyyyyyyy:userpool/zzzzzzzzz”
},
"ForAnyValue:StringLike": {
"cognito-identity.amazonaws.com:amr": "unauthenticated",
"cognito-idp.amazonaws.com:amr": "unauthenticated"
}
}
}
]
}
部分問題可能是我不理解“cognito-idp.amazonaws.com:aud”的格式:“cognito-idp.amazonaws.com:aud”這一行。 我懷疑我應該以某種方式更改格式或指定amazonaws.com的不同域作為aud,但我已經嘗試了十幾種組合並且失敗了。
所以問題是:如何指定信任關系。
一個輔助問題是:如果我的用戶使用用戶池進行身份驗證,並且如果正確指定了信任關系,那么我的用戶是否會接受指定該信任的角色? 或者用戶是否僅以某種方式承擔一個角色,如果存在多個信任關系,Cognito如何選擇該角色?
信任關系政策存在三個問題,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.