使用 Sails.JS 框架的 Node.JS -- Passport:没有在名称下注册策略:facebook

Posted

技术标签:

【中文标题】使用 Sails.JS 框架的 Node.JS -- Passport:没有在名称下注册策略:facebook【英文标题】:Node.JS using Sails.JS Framework -- Passport: no strategy registered under name: facebook 【发布时间】:2013-10-17 04:26:33 【问题描述】:

我正在为 Node.JS 使用 Sails.JS 框架。我编写了一个 config/middleware.js,它有一个验证处理程序并建立初始连接。该页面当前在 config/routes.js 推送的 AuthController 上出错。

控制台日志:

Fired Facebook 
error: Error: no strategy registered under name: facebook
at attempt (/project/node_modules/passport/lib/passport/middleware/authenticate.js:237:37)
at Passport.authenticate (/project/node_modules/passport/lib/passport/middleware/authenticate.js:244:7)
at AuthController.facebook (/project/api/controllers/AuthController.js:35:4)

Authcontroller.js 函数

   'facebook': function(req, res, next) 
    console.log("Fired Facebook");
    passport.authenticate('facebook', 
    failureRedirect: '/auth',
    scope: 'email'
    , function(err, user) 
       console.log("Fired Login Attempt");
            req.logIn(user, function(err) 
                    if (err) 
                    console.log(err);
                    res.view('500');
                    return;
                    

            res.redirect('home/index');
            return;
            );
    )(req, res, next);

Passport-facebook 和 passport 都在节点模块中。

package.json

 "dependencies": 
    "sails": "0.9.4",
    "grunt": "0.4.1",
    "sails-disk": "~0.9.0",
    "ejs": "0.8.4",
    "optimist": "0.3.4",
    "passport": "latest",
    "passport-local": "latest",
    "passport-facebook":"latest",
    "sails-mongo":"latest",
    "bcrypt": "0.7.6"
,

【问题讨论】:

【参考方案1】:

问题已解决 -- 安装了冲突的护照节点模块。

【讨论】:

哪些?遇到同样的问题。

以上是关于使用 Sails.JS 框架的 Node.JS -- Passport:没有在名称下注册策略:facebook的主要内容,如果未能解决你的问题,请参考以下文章

Sails.js / Waterline - 创建不是模型上的功能

老web换新枝----Sails.js移动设备的全新生产力

使用node.js套接字客户端向sails.js(0.11.x)发出事件[重复]

sails.js 和多个参数

Sails.js 1.0:如何在没有Waterline的情况下连接和使用旧版MySQL数据库?

如何在 Sails.js 中实现连接多方