【发布时间】:2020-05-27 21:40:39
【问题描述】:
我有一个使用 AWS Amplify 和 Cognito 构建的 Web 应用程序,用于身份验证/授权。 Cognito 用户池是身份提供者。
根据用户应拥有的权限将用户分组到 Cognito 用户池组中。
我希望一些用户成为多个组的一部分(例如管理员用户),这些组应该具有这些总和 组的权限。但由于用户只能承担一个角色,我需要能够在应用程序中切换角色。
我尝试使用getCredentialsForIdentity 来完成此操作:
const cognito_identity = new AWS.CognitoIdentity({ apiVersion: '2014-06-30', region: 'eu-central-1' });
var params = {
IdentityId: 'some_identity',
CustomRoleArn: 'arn:aws:iam::<account_id>:role/editors',
};
cognito_identity.getCredentialsForIdentity(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
当调用上面的代码时它失败了 NotAuthorizedException:禁止访问身份“some_identity”。
我需要做什么才能让它工作?
【问题讨论】:
标签: javascript amazon-web-services amazon-cognito amazon-iam aws-amplify