facebook passport strategy implementation

pull/2/head
Sahat Yalkabov 2013-11-19 01:03:11 -05:00
parent 690079d772
commit 09c2c99634
1 changed files with 18 additions and 3 deletions

View File

@ -39,9 +39,24 @@ passport.use(new FacebookStrategy({
callbackURL: config.facebook.callbackUrl || "http://localhost:8000/auth/facebook/callback"
},
function (accessToken, refreshToken, profile, done) {
var user = module.exports.findOrCreateOauthUser(profile.provider, profile.id);
done(null, user);
}));
User.findOne({ $where: profile.provider + '==' + profile.id }, function(err, existingUser) {
if (existingUser) {
done(null, existingUser);
} else {
var user = new User({
firstName: profile.first_name,
lastName: profile.last_name,
provider: profile.provider
});
user[profile.provider] = profile.id;
user.save(function(err) {
done(null, user);
});
}
});
}
));
// Simple route middleware to ensure user is authenticated. Otherwise send to login page.
exports.ensureAuthenticated = function ensureAuthenticated(req, res, next) {