mirror of
https://github.com/mmumshad/ansible-playable.git
synced 2025-03-09 23:38:54 +00:00
Initial Commit
This commit is contained in:
commit
c92f737237
273 changed files with 16964 additions and 0 deletions
20
server/auth/facebook/index.js
Normal file
20
server/auth/facebook/index.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
'use strict';
|
||||
|
||||
import express from 'express';
|
||||
import passport from 'passport';
|
||||
import {setTokenCookie} from '../auth.service';
|
||||
|
||||
var router = express.Router();
|
||||
|
||||
router
|
||||
.get('/', passport.authenticate('facebook', {
|
||||
scope: ['email', 'user_about_me'],
|
||||
failureRedirect: '/signup',
|
||||
session: false
|
||||
}))
|
||||
.get('/callback', passport.authenticate('facebook', {
|
||||
failureRedirect: '/signup',
|
||||
session: false
|
||||
}), setTokenCookie);
|
||||
|
||||
export default router;
|
34
server/auth/facebook/passport.js
Normal file
34
server/auth/facebook/passport.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
import passport from 'passport';
|
||||
import {Strategy as FacebookStrategy} from 'passport-facebook';
|
||||
|
||||
export function setup(User, config) {
|
||||
passport.use(new FacebookStrategy({
|
||||
clientID: config.facebook.clientID,
|
||||
clientSecret: config.facebook.clientSecret,
|
||||
callbackURL: config.facebook.callbackURL,
|
||||
profileFields: [
|
||||
'displayName',
|
||||
'emails'
|
||||
]
|
||||
},
|
||||
function(accessToken, refreshToken, profile, done) {
|
||||
User.findOne({'facebook.id': profile.id}).exec()
|
||||
.then(user => {
|
||||
if(user) {
|
||||
return done(null, user);
|
||||
}
|
||||
|
||||
user = new User({
|
||||
name: profile.displayName,
|
||||
email: profile.emails[0].value,
|
||||
role: 'user',
|
||||
provider: 'facebook',
|
||||
facebook: profile._json
|
||||
});
|
||||
user.save()
|
||||
.then(savedUser => done(null, savedUser))
|
||||
.catch(err => done(err));
|
||||
})
|
||||
.catch(err => done(err));
|
||||
}));
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue