Facebook strategy refactoring
This commit is contained in:
@ -40,22 +40,22 @@ passport.use(new FacebookStrategy({
|
|||||||
},
|
},
|
||||||
function (accessToken, refreshToken, profile, done) {
|
function (accessToken, refreshToken, profile, done) {
|
||||||
User.findOne({ facebook: profile.id }, function(err, existingUser) {
|
User.findOne({ facebook: profile.id }, function(err, existingUser) {
|
||||||
if (err) done(err);
|
if (err) return done(err);
|
||||||
|
|
||||||
if (existingUser) return done(null, existingUser);
|
if (existingUser) {
|
||||||
|
return done(null, existingUser);
|
||||||
|
}
|
||||||
|
|
||||||
var user = new User({
|
var user = new User({
|
||||||
firstName: profile.name.givenName,
|
facebook: profile.id
|
||||||
lastName: profile.name.familyName,
|
|
||||||
provider: profile.provider,
|
|
||||||
email: profile._json.email
|
|
||||||
});
|
});
|
||||||
|
user.profile.name = profile.displayName;
|
||||||
user[profile.provider] = profile.id;
|
user.profile.email = profile._json.email;
|
||||||
|
user.profile.gender = profile._json.gender;
|
||||||
|
user.profile.picture = 'https://graph.facebook.com/' + profile.id + '/picture?type=normal';
|
||||||
|
|
||||||
user.save(function(err) {
|
user.save(function(err) {
|
||||||
if (err) console.log(err);
|
done(err, user);
|
||||||
done(null, user);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user