import { Strategy } from 'passport-google-oauth20' import { Router } from 'express' import passport from 'passport' import genericStrategy from '../strategy' const strategyOptions = { clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: `${process.env.HOST}/auth/google/redirect` ?? '/auth/google/redirect', } export function googleStrategy() { return new Strategy(strategyOptions, genericStrategy('google')) } export const googleRouter = Router() const googleAuthenticateOptions = { scope: ['email', 'profile'], } googleRouter.get('/google', passport.authenticate('google', googleAuthenticateOptions)) googleRouter.get( '/google/redirect', passport.authenticate('google', { successRedirect: '/museo', failureRedirect: '/' }), )