amazon-web-services - 如何让我的 Auth0 权限进入 AWS HTTP AP

我正在尝试获取一个在端点上具有作用域的 AWS HTTP API JWT 授权方,以便愉快地使用我的 Auth0 访问 token 。

JWT 授权方在访问 token 的“范围”中查找必要的范围。我认为这是用于细粒度授权。但是,Auth0 在“权限”数组中而不是在 token 的“范围”中返回权限。

有没有办法让我的权限显示在访问 token 的“范围”中,以便我可以使用 JWT 授权器来处理细粒度的权限?或者我是否需要让我的 lambda 函数在经过 JWT 授权方之后剖析经过身份验证的 JWT?

最佳答案

有一种方法可以将您的用户权限添加到 token 的 scope 声明中。此线程详细介绍了实现此目的的两种方法,thread :

  1. 添加一个规则来读取这些权限并将它们复制到您的 access_token scope 声明中。
function (user, context, callback) {

  var ManagementClient = require('auth0@2.17.0').ManagementClient;
  var management = new ManagementClient({
    token: auth0.accessToken,
    domain: auth0.domain
  });

  var params = { id: user.user_id};

  management.getUserPermissions(params, function (err, permissions) {
    
    var permissionNames = [];
    permissions.forEach(function(obj) { permissionNames.push(obj.permission_name); });
    
    if (err) {
      // Handle error.
    }
    context.accessToken.scope = permissionNames;    
    callback(null, user, context);
  });
  
}
  1. 将 RBAC 功能与 TOKEN_DIALECT 结合使用。请注意,这方面的信息非常稀缺,这篇链接在它下面的帖子是我找到的唯一关于它的信息。此外,我无法使它始终如一地工作,所以我个人使用此处列出的方法#1。 TOKEN_DIALECT

在理想世界中,选项 #2 确实是最好的并且配置最少,但我对此有疑问。

关于amazon-web-services - 如何让我的 Auth0 权限进入 AWS HTTP API Jwt 授权方的访问 token 的范围声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60690487/

相关文章:

npm - 错误 : pngquant failed to build, 确保安装了 libpng-

c# - 使用 C# Windows 10 是否可以判断视频/相机当前是否被任何应用程序使用?

c++ - 这是带有 std::any 或 std::is_copy_constructible 的

reactjs - 在 react-testing-library 中使用 getByRole 按可

node.js - 找不到 NodeJS nodegui 模块

python - 加载模型时没有 GPU 的机器上的 Cuda 驱动程序错误

javascript - Vue CLI - 未找到 PostCSS 配置

typescript - 如何在 WebStorm/IntelliJ 中使用 ts-node 导入项

react-native - React Native 风格 textDecorationLine

image - Flutter web Image.network旋转图片