-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathauth.js
More file actions
28 lines (25 loc) · 786 Bytes
/
auth.js
File metadata and controls
28 lines (25 loc) · 786 Bytes
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
var config = require('./config');
var co = require('co');
var User = require('./models/user.js');
var passport = require('koa-passport');
var FacebookStrategy = require('passport-facebook').Strategy;
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
done(null, user);
});
passport.use(new FacebookStrategy({
clientID: config.fb.appId,
clientSecret: config.fb.appSecret,
callbackURL: 'http://' + config.domain + (config.port ? ':' + config.port : '') + '/auth/facebook/callback'
}, function (accessToken, refreshToken, profile, done) {
co(function* () {
var user = yield User.findOrCreate({
name: profile.displayName,
provider: 'facebook',
providerId: profile.id
});
done(null, user);
})();
}));