Javascript JWT如何绕过某些API路由和http方法
我可以让GetJSON Web令牌忽略路径,除非像这样Javascript JWT如何绕过某些API路由和http方法,javascript,node.js,jwt,json-web-token,Javascript,Node.js,Jwt,Json Web Token,我可以让GetJSON Web令牌忽略路径,除非像这样 app.use(expressJWT({secret: config.JWTSECRET}).unless({path: ['/register', '/authentication', ]})); 我有一个带有不同HTTP方法get、put、post和delete的路由。我希望/events的GET版本不需要令牌,但是/event的POST版本需要令牌。我可以这样做,而不是有不同的路线获取和张贴等 /events //GET - n
app.use(expressJWT({secret: config.JWTSECRET}).unless({path:
['/register',
'/authentication',
]}));
我有一个带有不同HTTP方法get、put、post和delete的路由。我希望/events的GET版本不需要令牌,但是/event的POST版本需要令牌。我可以这样做,而不是有不同的路线获取和张贴等
/events //GET - no token required
/events //POST - token required
如果我没记错的话,express jwt模块正在使用express除非来给您提供.exception方法。这样,您就可以使用自定义函数来过滤请求
var filter = function(req) {return true;}
app.use(expressJWT({ secret: config.JWTSECRET}).unless(filter));
在filter函数中,您可以检查route req.path和请求类型req.method。如果我知道的没错,express jwt模块正在使用express除非为您提供.除非方法。这样,您就可以使用自定义函数来过滤请求
var filter = function(req) {return true;}
app.use(expressJWT({ secret: config.JWTSECRET}).unless(filter));
在过滤器功能中,您可以检查路由请求路径和请求类型req.method