AWS Cognito未能将用户池中的用户与身份池集成

AWS Cognito未能将用户池中的用户与身份池集成

问题描述:

我想将Cognito用户池用作身份提供者。 我验证我的用户。 然后我试图整合该用户与用户池的用户,请按照下列步骤操作:AWS Cognito未能将用户池中的用户与身份池集成

var cognitoUser = userPool.getCurrentUser(); 

if (cognitoUser != null) { 
    cognitoUser.getSession(function(err, result) { 
if (result) { 
    console.log('You are now logged in.'); 

    // Add the User's Id Token to the Cognito credentials login map. 
    AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
    IdentityPoolId: 'YOUR_IDENTITY_POOL_ID', 
    Logins: { 
    'cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>': result.getIdToken().getJwtToken() 
    } 
    }); 
} 
}); 
} 

http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html

然而,从AWS的响应是“无效的登录凭证不是有效的ID连接身份令牌“。

该请求有效载荷是这样的:

{ “IdentityPoolId”: “EU-西-1:idPoolValue”, “登录”:{ “loginString”:“cognito-idp.eu西-1.amazonaws.com/regionValue:id token value“}}

我用一个字符串替换了敏感部分。 我已配置身份池以将用户池用作身份验证提供程序。

是否有任何进一步的步骤,我错过了或没有记录?

请求有效负载的结构不正确。登录应该是一个映射,而不是一个具有键值对的对象。

+0

您上传的代码是用于JS的,您需要Java版本。 –