sails.js与护照叽叽喳喳

我正在整合passportsails

虽然谷歌和脸书在我的应用程序工作正常,我很难与Twitterauthentication! 当点击“使用twitterlogin”button时,会出现一个错误提示: Error: OAuthStrategy requires session support. Did you forget app.use(express.session(...))? Error: OAuthStrategy requires session support. Did you forget app.use(express.session(...))?

我在这里读到,会话是必要的Twitterauthentication工作。 我确定我的应用程序已启动会话!

我testet passport-twitter一个简单的快递应用程序(无风帆),以确保该模块正在工作,我的twitter凭据是完好无损的。

我假设帆会议是不同的expression会议? 风帆会改变会议的方式吗? 有关如何解决这个问题的任何build议?


编辑:添加一些更多的信息按要求在评论:

风帆版本:0.9.13

UserController.js:

 ... twitter: function(res, req) { passport.authenticate('twitter', {failureRedirect: '/login'}, function(err, user, info) { return console.log(err, user, info); })(req, res); } ... 

configuration/ 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生成auth? 从我的angular度来看,它使生活更轻松: https : //www.npmjs.org/package/sails-generate-auth

看看一个例子如何做Twitterauthentication(谷歌,脸谱,Github也在那里): https : //github.com/stefanbuck/sails-social-auth-example

我build议你不要花费时间来整合你自己。 有一些现有的解决scheme。 官方文档列出了几个选项:

  • sails-auth :基于Passport的authentication扩展,包括基本authentication
  • sails -permissions :sails.js的权限和授权系统:支持用passport.js进行用户authentication,基于angular色的权限,对象所有权和行级安全。
  • sails-generate-auth :为您的Sails应用程序生成一个Passport.js身份validation图层