node.js - MEAN Stack - 仅在某些 REST 方法上使用 jwt 和express-restify-mongoose

标签 node.js rest express jwt restify

我对这些东西都很陌生,所以请耐心等待。

我尝试使用 MEAN 堆栈创建 REST API - 为了让事情变得简单,我尝试使用这个:

https://github.com/florianholzapfel/express-restify-mongoose

当我运行时,它非常适合我:

restify.serve(应用程序,酒店);

--> 应用程序当然是 Express,酒店是我的 mongoose.model,它指向我的酒店架构。

它也与我的“ token 逻辑”配合使用,我可以使用以下内容保护所有重新修改的 URL:

app.use(expressJwt({ Secret: 'secretkey'}).unless({path: ['/auth', '/']}));

我的问题是 - 如何使用我的 token 逻辑(POST、PUT、DELETE)保护某些 REST 方法,例如“/api/hotels” --> 我不希望像 GET 这样的方法公开,但不希望 POST、PUT 和 DELETE 公开。

这可能吗? 非常感谢您的帮助!

最佳答案

对于“express-restify-mongoose”:“^2.0.0”,您应该使用“preMiddleware”

然后执行:

restify.serve(app, hotels, {preMiddleware: AllCanGetIt});

更多信息: https://florianholzapfel.github.io/express-restify-mongoose/

关于node.js - MEAN Stack - 仅在某些 REST 方法上使用 jwt 和express-restify-mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26594396/

相关文章:

node.js - Nodejs - HTTP - 带可选参数

javascript - 如何在nodejs中发送响应错误代码

node.js - 使用node.js、express和socket.io的设计选择

javascript - 如何获取键包含下划线中的对象?

REST GET 端点根据用户角色返回不同的模型

git - 如何使用 curl 删除 GitLab 存储库?

node.js - 如何向 Express 路由中的中间件函数发送参数?

javascript - 带闭包的 For 循环保存状态

javascript - Node.js、Websocket 服务器端客户端数据

javascript - AngularJS $resource GET 中的多个参数