Amazon web services CognitoIdentityCredentials不提供访问权限

Amazon web services CognitoIdentityCredentials不提供访问权限,amazon-web-services,amazon-cognito,Amazon Web Services,Amazon Cognito,我不确定我是否正确理解了这个过程,但我正在使用Cognito用户池并进行身份验证。我收到了预期的代币。我正在尝试根据调用CognitoIdentityCredentials,作为onSuccess身份验证流的一部分 AWS.config.update({ credentials: new AWS.CognitoIdentityCredentials({ IdentityPoolId: IdentityPoolId, }), region: 'us-east

我不确定我是否正确理解了这个过程,但我正在使用Cognito用户池并进行身份验证。我收到了预期的代币。我正在尝试根据调用CognitoIdentityCredentials,作为onSuccess身份验证流的一部分

AWS.config.update({
    credentials: new AWS.CognitoIdentityCredentials({
        IdentityPoolId: IdentityPoolId,
    }),
    region: 'us-east-1'
});
我将IAM角色分配给了我的Cognito标识池,所有内容看起来都配置正确。但是,我没有收到任何AWS凭据

文件规定:

默认情况下,此提供程序使用AWS.CognitoIdentity.getCredentialsForIdentity()服务操作获取凭据,该操作需要IdentityId或IdentityPoolId(Amazon Cognito标识池ID),后者用于调用AWS.CognitoIdentity.getId()以获取IdentityId


我需要手动调用AWS.CognitoIdentity.getId()来获取AWS凭据吗?

如果您使用的是经过身份验证的标识池,您应该获取带有id_令牌的AWS凭据。

否,
AWS.CognitoIdentityCredentials()
调用
getId()

您只需在
AWS.CognitoIdentityCredentials()
Logins
参数映射中提供从Cognito用户池进行身份验证后收到的
id\u令牌,如中所示

//将用户的Id令牌添加到Cognito凭据登录映射中。
AWS.config.credentials=新的AWS.CognitoIdentityCredentials({
IdentityPoolId:'您的_IDENTITY _POOL _ID',
登录:{
'cognito idp..amazonaws.com/':'cognito用户池身份验证返回的ID_令牌'
}
},{地区:'us-east-1'});
// 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>': 'YOUR ID_TOKEN RETURNED FROM AUTHENTICATION WITH COGNITO USER POOLS'
    }
}, { region: 'us-east-1'});