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

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

我可以像这样使用 .unless 让 get JSON-Web-Token 忽略路径。

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

我有一个具有不同 HTTP 方法(get、put、post、delete)的路由。我希望/events 的 GET 版本不需要 token ,但/event 的 POST 版本需要 token 。我可以在没有 GET 和 POST 等不同路由的情况下执行此操作吗?

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

最佳答案

如果我没记错的话,express-jwt 模块正在使用 express-unless 为您提供 .unless 方法。这样,您就可以使用自定义函数来过滤请求。

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

filter函数中,可以查看路由(req.path)和请求类型(req.method)。

关于javascript - JWT如何绕过某些API路由和http方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133693/

相关文章:

javascript - Canvas 图像质量问题

python - 如何调用 Apple Music API 并避免 401

javascript - 可编辑网格中的组合框

javascript - 第二个 jQuery 按钮单击未触发

javascript - 有时机器人不会添加角色并设置昵称

node.js - node.js 应该监听哪些端口?如何以及为什么?

c# - 如何读取已过期的 JWT token

security - 正确的微服务 JWT 流程

javascript - 如何使用 javascript 将一个 html 页面上的 div 内容更改为另一页面上的 div 内容?

php - Ajax 返回 false 到表单