Skip to content

Instantly share code, notes, and snippets.

@eezhal92
Created July 3, 2018 06:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eezhal92/2de4fcb6ee5cf27551856231aad20228 to your computer and use it in GitHub Desktop.
Save eezhal92/2de4fcb6ee5cf27551856231aad20228 to your computer and use it in GitHub Desktop.
import { URL } from 'url';
import jwt from 'jsonwebtoken';
import passport from 'passport';
const facebook = {
main: (request, ...rest) => {
const { team } = request.query;
return passport.authenticate('facebook', {
callbackURL: process.env.FACEBOOK_CALLBACK_URL + `?team=${team}`,
})(request, ...rest);
},
callbacks: [
(request, response, next) => {
const { team } = request.query;
return passport.authenticate('facebook', {
callbackURL: process.env.FACEBOOK_CALLBACK_URL + `?team=${team}`,
failureRedirect: process.env.WEB_CLIENT_URL,
})(request, response, next);
},
(request, response, next) => {
delete request.query.code;
console.log('QUERY', request.query);
const { user } = request;
const token = jwt.sign(user.toJSON(), process.env.JWT_SECRET);
const redirectUrl = new URL(`http://${request.query.team}.teleo.co?auth_token=${token}`);
response.redirect(redirectUrl.href);
},
],
};
export default facebook;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment