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

Aws::CognitoIdentity::Errors::NotAuthorizedException Exception: Invalid login token

我正在使用 Rails application,我正在为 single sign on 使用 amazon cognito,我已经创建了一个链接到我的用户池的身份提供者,现在我正在尝试使用 doc

中所述的代码从我的认知身份中获取 identity_id
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 Exception: Invalid login token

我不知道我做错了什么。

请帮忙

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

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

此页面未提供 Ruby 示例,但您应该参考它以了解思路: http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html