This repository has been archived by the owner on Sep 29, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpassport.js
48 lines (45 loc) · 1.78 KB
/
passport.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
var GooglePlusStrategy = require('passport-google-plus'),
l = require('./log'),
config = require('./config'),
db = require('./db');
module.exports = function(app, passport) {
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
passport.use(new GooglePlusStrategy({
clientId: config.auth.clientId,
clientSecret: config.auth.clientSecret
},
function(tokens, profile, done) {
db.isGoogleUser(profile.id, function (err, isUser, id) {
if (err) {
l('here it is..', err);
} else {
if (isUser) {
//
} else {
var newUser = new db.GoogUser(profile.id,
profile.displayName, profile.image.url,
profile.url, profile.name.givenName,
profile.name.familyName);
newUser = new db.User(newUser, null,
profile.gender ? profile.gender : null,
profile.language ? profile.language : null,
null);
db.createUser(newUser, function (err, result) {
if (err) {
l('User failed to create');
} else {
l('Created new user:', profile.displayName + '!');
}
});
}
}
});
l(profile.displayName, 'signed in with Passport!');
done(null, profile, tokens);
}));
};