【发布时间】:2017-01-03 09:41:33
【问题描述】:
我正在尝试将 Passport 与 SailsJS 一起使用。
passport.authenticate('facebook') 方法永远不会被调用,也不会发送任何响应。
我在 config/passports.js 中初始化 Passport 和我的策略。
config/passport.js:
const passport = require('passport');
const FacebookStrategy = require('passport-facebook').Strategy;
passport.serializeUser(function (user, done) {
done(null, user.id);
});
passport.deserializeUser(function (id, done) {
User.findOne({id: id}, function (err, user) {
done(err, user);
});
});
passport.use(new FacebookStrategy({
/* IDS */
}, (token, refreshToken, profile, next) => {
/* logic here */
})
}));
我初始化护照和序列化方法。
我按照以下顺序在config/http.js 文件中设置了passport.init() 和passport.session() 中间件:
'startRequestTimer',
'cookieParser',
'session',
'passportInit',
'passportSession',
路由/auth/facebook 使用以下控制器:
passport.authenticate('facebook', {scope: ['email', 'user_about_me']},
(err, user) => {
req.logIn(user, (err) => {
if (err) return res.send(err);
return res.redirect('/');
})
});
当我调用/auth/facebook 时,我的所有请求都超时,passport 从不调用我的身份验证方法。
我做错了什么?
【问题讨论】:
标签: node.js sails.js passport.js