首页 > 解决方案 > 客户尚未被授予范围:读取角色

问题描述

使用node-auth0包,连接工作正常,但现在我尝试对角色进行一些工作并添加了read:roles范围,这会导致错误。

下面的最小代码:

const ManagementClient = require('auth0').ManagementClient;
const auth0 = new ManagementClient(
    {
        domain: process.env.AUTH0_DOMAIN,
        clientId: process.env.AUTH0_CLIENT_ID,
        clientSecret: process.env.AUTH0_CLIENT_SECRET,
        scope: 'read:users update:users read:roles'
    });

// both these calls fail
const auth0_roles = auth0.roles.getAll();
const auth0_tester = auth0.users.create(data);

现在调用 EITHERrolesusers失败并出现此错误:

{"error":"access_denied","error_description":"客户端没有被授予作用域:read:roles"}

如果我read:roles从 中删除scope,则创建用户调用成功(但显然roles.getAll失败)

我在仪表板 ( APIs=> Auth0 Management API=> Permissions) 中检查了我的 API 权限,它似乎包括所有内容:

(注意:权限顶部有一条消息表示重要:权限管理不适用于代表 Auth0 资源的 API。-我无法更改权限)

在此处输入图像描述

标签: javascriptnode.jsauth0

解决方案


根据我对Shayan 的出色回答的评论,我实际上已经多次进入 Auth0 仪表板的那个区域并且错过了神奇的链接。

下图显示了您必须单击的位置才能设置您希望应用程序拥有的客户端授权。

机器对机器应用


推荐阅读