我使用nodejs (express)和骨干。我想整合passport.js的facebook认证。
我有以下路线:
app.get('/auth/facebook', passport.authenticate('facebook', { scope: [ 'email', 'user_about_me'], failureRedirect: '/login' }), users.signin);
如果用户成功登录,我应该怎么做?我如何访问用户数据?
如果用户没有成功登录,我该怎么办?如何打开facebook对话框?
是否有使用passport.js与单页应用程序的好例子?
我知道我回答晚了,但如果你还不能弄清楚如何使用护照的facebook策略,你可以通过这里提供的例子。
希望这对你有帮助:)
这是解决方案,最近我做了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
});
});
};