0

我正在使用 nodejs(带快递)和骨干网。我想集成 passport.js 以进行 facebook 身份验证。
我有以下路线:

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

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

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

4

2 回答 2

0

我知道我回答迟了,但如果你还没有弄清楚如何使用护照的 facebook 策略,你可以通过这里提供的示例。

于 2014-04-03T07:56:29.053 回答
0

我希望这对你有帮助:)

这是最近我用护照完成facebook连接的解决方案

我假设您安装了护照模块

应用程序.js

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

路由.js

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

我创建了一个 lib 文件

连接.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
        });
    });
};
于 2014-04-03T08:29:20.883 回答