【发布时间】:2017-03-11 21:13:17
【问题描述】:
我有一个带有 express-jwt 的 nodejs express 服务和一个受保护的 api 调用。
app.get('/protected',
jwtCheck, function(req, res) {
console.log(JSON.stringify(req.user));
if (!req.user.admin)
return res.send("user");
res.send("admin");
});
问题是,req.user 对象不包含“admin”字段。 我已经在 Auth0 规则中添加了角色,所以我可以让它在我的客户端中工作,而不是在 nodejs 服务器中。
我从这里学习了教程:https://github.com/auth0/express-jwt
我在这里错过了什么吗?我需要在 auth0 中设置规则以便添加管理字段吗?
编辑:在 git 问题中找到此描述: “您的令牌需要包含信息(例如:角色)。为了使用 Auth0 执行此操作,您必须请求适当的范围,例如:scope=openid 电子邮件角色。” 现在,如何编辑 express-jwt 的范围?
提前致谢!
【问题讨论】:
-
为了更好地理解问题,您能否包含一个用于调用该 API 的示例访问令牌?可以是过期的令牌,也可以是remove the signature part;此外,如果负载上有敏感信息,您可以屏蔽这些值(使用jwt.io)。
标签: javascript node.js jwt auth0 express-jwt