import { Strategy, StrategyOption, AuthenticateOptions, Profile } from 'passport-facebook'; import { Router } from 'express' import passport from 'passport' import genericStrategy from '../strategy' const strategyOptions: StrategyOption = { clientID: process.env.FACEBOOK_CLIENT_ID as string, clientSecret: process.env.FACEBOOK_CLIENT_SECRET as string, callbackURL: '/auth/facebook/redirect', profileFields: ['id', 'displayName', 'picture.type(large)', 'email'] } export function facebookStrategy() { return new Strategy(strategyOptions, genericStrategy('facebook')); } export const facebookRouter = Router() const facebookAuthenticateOptions: AuthenticateOptions = { authType: 'rerequest', scope: ['email'] } facebookRouter.get('/facebook', passport.authenticate('facebook', facebookAuthenticateOptions)); facebookRouter.get('/facebook/redirect', passport.authenticate('facebook', { successRedirect: '/museo', failureRedirect: '/' }));