首页 > 解决方案 > Auth0 - 范围不足

问题描述

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

我一直在寻找一段时间,我发现了一堆类似的问题,但无法找到解决方案。

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

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

但是,在添加中间件以保护我的路由时,我总是收到Insufficient scope错误:

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

请问你能帮帮我吗?

标签: node.jsauthenticationauth0

解决方案


您应该包含一个名为“customScopeKey”的第二个参数,这样 auth0 将使用权限而不是范围来验证用户凭据。

用这个:

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

代替

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

推荐阅读