JWT如何绕过某些API路由和http方法

时间:2016-02-01 14:59:59

标签: javascript node.js jwt json-web-token

我可以让JSON-Web-Token使用.unless来忽略路径。

app.use(expressJWT({secret: config.JWTSECRET}).unless({path: 
['/register', 
'/authentication',
]}));

我有一个使用不同HTTP方法的路由(get,put,post,delete)。我希望/ ET事件的GET版本不需要令牌,但是/ event的POST版本需要令牌。我可以在没有GET和POST等不同路由的情况下这样做。

/events //GET - no token required
/events //POST - token required

1 个答案:

答案 0 :(得分:3)

如果我知道的话,express-jwt模块正在使用express-unless来提供.unless方法。有了它,您可以使用自定义函数来过滤请求。

var filter = function(req) {return true;}
app.use(expressJWT({ secret: config.JWTSECRET}).unless(filter));

filter功能中,您可以检查路线(req.path)和请求类型(req.method)。