3

我正在使用 a Rails application,并且正在使用amazon cognitofor single sign on,我创建了一个链接到我的用户池的身份提供者,现在我正在尝试使用docidentity_id中所述的代码从我的 cognito 身份中获取

cognitoidentity = Aws::CognitoIdentity::Client.new(region: 'us-east-1',)

cognitoidentity.get_id({identity_pool_id: "us-east-1:XXXXXXXXXXXXXXXXX", logins: { "www.amazon.com" => <Access token got from #admin_initiate_auth method>}})

我收到此错误:

Aws::CognitoIdentity::Errors::NotAuthorizedException 异常:登录令牌无效

我不知道我做错了什么。

请帮忙

4

1 回答 1

1

如果您使用的是用户池,那么登录映射中的 idp 标识符不应为“www.amazon.com”。登录映射应如下所示:

Logins: {
'cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>': <IdToken>
}

此页面没有提供 Ruby 示例,但您应该参考它来了解这个想法: http ://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with -identity-pools.html

于 2016-12-27T08:03:06.060 回答