我正在使用 express-jwt 来保护我的 API 端点,以便只有经过身份验证的用户才能访问我的 API。现在我还想根据用户的角色保护我的 API。例如,如果用户是管理员,则只能访问某些 API,如果他们是超级管理员,则只能访问其他一些 API,等等。我该如何实现呢?我在 express-jwt github doc 中找到了这个代码片段:
app.get('/protected',
jwt({secret: 'shhhhhhared-secret'}),
function(req, res) {
if (!req.user.admin) return res.sendStatus(401);
res.sendStatus(200);
});
看起来这段代码正在 API 控制器功能中进行授权。这是唯一且推荐的方法吗?有没有更好的方法来做到这一点?关于最佳实践的任何建议?