bol*_*ovt 6 node.js express-4 passport.js
从快递4开始,你不应该这样做
require('./app/routes.js')(app, passport); // load our routes and pass in our app and fully configured passport
module.exports = function(app, passport) {
// =====================================
// FACEBOOK ROUTES =====================
// =====================================
// route for facebook authentication and login
app.get('/auth/facebook', passport.authenticate('facebook', { scope : 'email' }));
// handle the callback after facebook has authenticated the user
app.get('/auth/facebook/callback',
passport.authenticate('facebook', {
successRedirect : '/profile',
failureRedirect : '/'
}));
// route for logging out
app.get('/logout', function(req, res) {
req.logout();
res.redirect('/');
});
};
Run Code Online (Sandbox Code Playgroud)
相反,你应该使用express.Route()函数和
var routes = require('./app/routes.js');
app.use('/', routes);
Run Code Online (Sandbox Code Playgroud)
如何将配置的护照传递到Express 4中的路由模块?
的function出口仍然可以用于传递passport的模块之间的参考.它只是创建和return一个Router而不是修改app直接.
var express = require('express');
module.exports = function(passport) {
var router = express.Router();
router.get('/auth/facebook', passport.authenticate('facebook', { scope : 'email' }));
// etc.
return router;
};
Run Code Online (Sandbox Code Playgroud)
并且,app然后use它可以:
var routes = require('./app/routes.js')(passport);
app.use('/', routes);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2993 次 |
| 最近记录: |