nodejs backbone和passportjs

时间:2013-05-26 08:51:31

标签: node.js backbone.js express passport.js

我正在使用nodejs(带快速)和骨干。我想将passport.js整合到facebook身份验证中 我有以下路线:

app.get('/auth/facebook', passport.authenticate('facebook', { scope: [ 'email', 'user_about_me'], failureRedirect: '/login' }), users.signin); 

如果用户成功登录,我该怎么办?如何访问用户数据?
如果用户未成功登录,我该怎么办?如何打开Facebook对话框?

在单页应用程序中使用passport.js有什么好的例子吗?

2 个答案:

答案 0 :(得分:0)

我知道我迟到了,但如果您还未能弄清楚如何使用护照的facebook策略,您可以通过示例提供here

答案 1 :(得分:0)

我希望这对你有帮助:)

这是最近我用facebook连接护照

的解决方案

我假设您安装了护照模块

<强> app.js

var passport = require('passport');
require('./lib/connect')(passport); // pass passport for configuration

<强> routes.js

// send to facebook to do the authentication
app.get('/auth/facebook', 
    passport.authenticate('facebook', { scope : 'email' })
);

我创建了一个lib文件

<强> connect.js

var FacebookStrategy = require('passport-facebook').Strategy;
module.exports = function(passport) {
 passport.use(new FacebookStrategy({
    clientID        : facebookAuth.clientID,
    clientSecret    : facebookAuth.clientSecret,
    callbackURL     : facebookAuth.callbackURL,
    passReqToCallback : true // allows us to pass in the req from our route
    },
    function(req, token, refreshToken, profile, done) {
        // here you can get the user profile info
        console.log("profile : "+JSON.stringify(profile));
        // asynchronous
        process.nextTick(function() {
            //your logic
        });
    });
};