首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SANE堆栈和Passportjs

SANE堆栈和Passportjs
EN

Stack Overflow用户
提问于 2015-04-13 03:38:08
回答 1查看 303关注 0票数 2

我正在使用理智堆栈,我想将护照添加到其中。

我使用这里指令成功地在sails应用程序中实现了passportjs。我试图使用这些指令将passportjs添加到一个正常的应用程序中。我也在考虑让帆船服务登入、注销等等.页面,因为这些说明使用的是sails的视图。这可能不是未来最好的决定,但现在我只想要一些有用的东西。

当我登录时,我收到了以下错误。

代码语言:javascript
复制
error: Sending 500 ("Server Error") response:
server   |  TypeError: undefined is not a function
server   |     at Object.AuthController.login (/Users/someUser/Documents/sanestack/project/server/api/controllers/AuthController.js:50:9)
server   |     at bound (/usr/local/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
server   |     at routeTargetFnWrapper (/usr/local/lib/node_modules/sails/lib/router/bind.js:179:5)
server   |     at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
server   |     at param (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
server   |     at pass (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5)
server   |     at nextRoute (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7)
server   |     at callbacks (/usr/local/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11)
server   |     at /usr/local/lib/node_modules/sails/lib/router/bind.js:187:7
server   |     at /Users/someUser/Documents/sanestack/project/server/api/policies/passport.js:32:7
server   |     at SessionStrategy.strategy.pass (/Users/someUser/Documents/sanestack/project/server/node_modules/passport/lib/middleware/authenticate.js:318:9)
server   |     at SessionStrategy.authenticate (/Users/someUser/Documents/sanestack/project/server/node_modules/passport/lib/strategies/session.js:67:10)
server   |     at attempt (/Users/someUser/Documents/sanestack/project/server/node_modules/passport/lib/middleware/authenticate.js:341:16)
server   |     at authenticate (/Users/someUser/Documents/sanestack/project/server/node_modules/passport/lib/middleware/authenticate.js:342:7)
server   |     at /Users/someUser/Documents/sanestack/project/server/api/policies/passport.js:28:23
server   |     at initialize (/Users/someUser/Documents/sanestack/project/server/node_modules/passport/lib/middleware/initialize.js:62:5) [TypeError: undefined is not a function]

问题在于server/api/controllers/AuthController.js中的以下代码

代码语言:javascript
复制
 33   login: function (req, res) {
 34     var strategies = sails.config.passport
 35       , providers  = {};
 36
 37     // Get a list of available providers for use in your templates.
 38     Object.keys(strategies).forEach(function (key) {
 39       if (key === 'local') {
 40         return;
 41       }
 42
 43       providers[key] = {
 44         name: strategies[key].name
 45       , slug: key
 46       };
 47     });
 48
 49     // Render the `auth/login.ext` view
 50     res.view({
 51       providers : providers
 52     , errors    : req.flash('error')
 53     });
 54   },

以及/server/api/policies/passport.js中的以下代码

代码语言:javascript
复制
 24 module.exports = function (req, res, next) {
 25   // Initialize Passport
 26   passport.initialize()(req, res, function () {
 27     // Use the built-in sessions
 28     passport.session()(req, res, function () {
 29       // Make the user available throughout the frontend
 30       res.locals.user = req.user;
 31
 32       next();
 33     });
 34   });
 35 };

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-13 04:22:23

我相信您遇到了这个问题,因为您试图使用Sails服务器视图,Sane堆栈希望Ember处理所有的视图.如果您查看https://github.com/mgenev/how-to-sane,您将看到客户机/服务器在那里的交互以及2是如何进行的,它不是基于护照的,它有一些工作有待完成,但是您可以得到总体的图像

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29597491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档