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