我正在使用nodejs(带快速)和骨干。我想将passport.js整合到facebook身份验证中 我有以下路线:
app.get('/auth/facebook', passport.authenticate('facebook', { scope: [ 'email', 'user_about_me'], failureRedirect: '/login' }), users.signin);
如果用户成功登录,我该怎么办?如何访问用户数据?
如果用户未成功登录,我该怎么办?如何打开Facebook对话框?
在单页应用程序中使用passport.js有什么好的例子吗?
答案 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
});
});
};