虽然 google 和 facebook 在我的应用程序中运行良好,但我在 twitter 身份验证方面遇到了困难!当点击“使用 twitter 登录”按钮时,会抛出一个错误,上面写着:Error: OAuthStrategy requires session support. Did you forget app.use(express.session(...))?
我在这里读到会话对于 twitter 身份验证工作是必要的。我确保我的应用程序已激活会话!
我passport-twitter
用一个简单的快速应用程序(没有帆)进行测试,以确保模块正常工作并且我的 twitter 凭据完好无损。
我假设风帆课程与快递课程不同?帆是否改变了会议的工作方式?关于如何解决这个问题的任何建议?
编辑:根据评论中的要求添加了更多信息:
帆版:0.9.13
用户控制器.js:
...
twitter: function(res, req) {
passport.authenticate('twitter', {failureRedirect: '/login'}, function(err, user, info) {
return console.log(err, user, info);
})(req, res);
}
...
配置/passport.js:
...
passport.use(new TwitterStrategy({
consumerKey: '**************',
consumerSecret: '********************',
callbackURL: "http://127.0.0.1:1337/auth/twitter/callback"
},
function(token, tokenSecret, profile, done){
process.nextTick(function() {
console.log(profile);
});
}
));
...