10
我使用Express 4的在那里我有passport.js保护的途径,如:什么是更好的方式来验证Express 4路由器上的一些路由?
var media = require('express').Router();
media.get('/', function(req, res) {
// provide results from db
});
media.post('/', passport.authenticate('bearer'), function(req, res) {
// This route is auth protected
});
所以 - 得到收集路线应(大部分)不保护我,创建/更新路线应。但是这需要我将护照传递给我所有的路由文件(到目前为止我已有7个文件),然后将其作为中间件添加到其中一些文件中。
我喜欢的版本,在那里你可以做这样的事情:
var router = require('./my-router');
app.use('/api/route', passport.authenticate('bearer'));
app.use('/api/route', router);
但是这需要在所有我的路线权威性。
有没有更好的方法来通过护照一路?
哇,本,这其实很聪明!我只需要修复那里的命名。 – Zlatko 2014-09-01 13:37:32
这将是天才,只有当路径路径相同时它才起作用。我已经在express4,passport 0.3.2上试过了这个相同的实现,并且在路由路径上检查身份验证,而不是路由器实例。这种情况下的所有路线都受到保护。 – jbodily 2016-09-09 17:06:38
如果路径路径相同,它将无法工作,如何知道您要使用哪一个?您定义的第一条路线优先。 – 2016-09-09 19:43:02