我正在将
passport
与
sails
整合.
虽然谷歌和Facebook在我的应用程序中运行良好,但我很难与twitter认证!点击“使用Twitter登录”按钮时会出现错误:错误:OAuthStrategy需要会话支持.你忘了app.use(express.session(…))吗?
我读到here会话是twitter认证工作所必需的.我确保我的应用已激活会话!
我用一个简单的快速应用程序(没有风帆)测试passport-twitter
,以确保模块正常工作,我的Twitter凭据完好无损.
我假设风帆会议不同于表达会话?帆会改变会议的工作方式吗?关于如何解决这个问题的任何建议?
帆版本:0.9.13
UserController.js:
... twitter: function(res,req) { passport.authenticate('twitter',{failureRedirect: '/login'},function(err,user,info) { return console.log(err,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); }); } )); ...
解决方法
你尝试过风帆0.10的sails-generate-auth吗?从我的观点来看,它让生活变得更轻松:
https://www.npmjs.org/package/sails-generate-auth