Auth0 - 范围不足

Auth0 - Insufficient scope

我在我的 Node.js 应用程序中使用 Auth0,但在尝试保护我的应用程序中的任何路由时遇到 范围不足 错误。

我找了一段时间,发现了一堆类似的问题,但没能找到解决方案。

本质上,在我的节点应用程序中,我必须按如下方式保护路由:

const checkScopes = jwtAuthz(['read:flights']);

但是,在添加中间件来保护我的路由时,我总是收到 范围不足 错误:

app.get('/api/permission', checkJwt, checkScopes, (req, res) => {
  res.send({
    msg: 'Your access token AND PERMISSION was successfully validated!'
  });
});

你能帮帮我吗?

您应该包括第二个参数 "customScopeKey" 这样 auth0 将使用权限而不是范围来验证用户凭据。

使用这个:

const checkScopes = jwtAuthz(['read:flights'], { customScopeKey: "permissions" });

而不是

const checkScopes = jwtAuthz(['read:flights']);