草庐IT

javascript - AWS cognito userpools JavaScript SDK 获取用户的保单文件

coder 2024-07-25 原文

对于 AWS Cognito Userpools 中的注册用户,是否可以通过 JavaScript SDK 检索通过 IAM Angular 色附加到用户的策略文档?

用户案例是编写一个自定义授权方,授权 cognito id token 并返回具有 IAM 权限的策略文档,用户能够通过 Cognito 用户组承担。

最佳答案

在进行进一步研究后,使用以下方法检索通过 IAM Angular 色附加到用户的“内联策略”。

  • 在 AWS Cognito JWT 中,从 ARN 中提取 Angular 色名称并使用 IAM SDK for JavaScript 通过使用获取策略 ARN

    const aws = require('aws-sdk');
    let iam = new aws.IAM();
    iam.listRolePolicies({ RoleName: roleName }, function (err, data) {
        let policyNames = data["PolicyNames"];
        // Use policy names and role names to retrieve policy documents
    });
    
  • 结合策略名和 Angular 色名,获取JSON格式的策略文档

    iam.getRolePolicy({ PolicyName: policyName, RoleName: roleName }, 
    function (err, data) {
        let document = decodeURIComponent(data["PolicyDocument"]);
    });
    
  • 接下来迭代地从每个政策文档中提取语句并构建一个单独的语句。

示例代码可以在 this 中找到github 存储库。

关于javascript - AWS cognito userpools JavaScript SDK 获取用户的保单文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45070378/

有关javascript - AWS cognito userpools JavaScript SDK 获取用户的保单文件的更多相关文章

随机推荐