2013-05-09 31 views
0

模块:Passportjs Facebook验证挡住我的应用程序

"express": "~3.0.0", 
"jade": ">= 0.0.1", 
"mongoose": ">= 3.6.2", 
"connect-mongo": "0.3.2", 
"nodemailer": ">= 0.3.20", 
"socket.io": "0.9", 
"cookie": "0.0.5", 
"passport": "0.2.3", 
"passport-facebook": "*", 
"underscore": "*" 

- BACKEND -

Expressjs配置:

app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.set('views', config.root + '/app/views'); 
    app.set('view engine', 'jade'); 

    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.limit('1mb')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(express.cookieParser('')); 
    app.use(express.session()); 
    app.use(express.static(path.join(config.root, 'public'))); 

    // express/mongo session storage 
    app.use(express.session({ 
     secret: '', 
     store: new mongoStore({ 
      url: config.db, 
      collection : 'sessions' 
     }) 
    })); 

    app.use(passport.initialize()); 
    app.use(passport.session()); 

    app.use(app.router); 
}); 

在路由器:

app.get('/login/facebook', passport.authenticate('facebook', { display: 'popup', scope: [ 'email', 'user_about_me'], failureRedirect: '/' })); 
app.get('/login/facebook/callback', passport.authenticate('facebook', { failureRedirect: '/' }), user.callbackLogin); 

在用户.callbackLogin:

exports.callbackLogin = function(req, res){ 
    res.render('callback_login'); 
}; 

callback_login视图有一个js脚本来关闭窗口登录弹出窗口。

- FRONTEND -

Utils.popupCenter = function(url, width, height, name) { 
    var left = (screen.width/2)-(width/2); 
    var top = (screen.height/2)-(height/2); 

    return window.open(url, name, "menubar=no,toolbar=no,status=no,width="+width+",height="+height+",toolbar=no,left="+left+",top="+top); 
}; 

Utils.popupCenter('login/facebook', 600, 400, 'Facebook Login'); 

我在与passportjs整合的麻烦。弹出作品,Facebook登录被调用,当我点击'OK'时,Facebook会返回mongodb中的数据和护照保存。但是,在这一点之后,没有什么可行的。 Expressjs阻止请求。当我尝试访问另一个url nodejs保持忙碌。花了一段时间后,我收到“没有收到数据”的消息。

+0

同一问题在这里 http://stackoverflow.com/questions/26021090/node-passport-facebook-login-in-facebook-page-tab-application – lexa 2015-04-30 11:00:07

回答

相关问题