diff --git a/packages/server/env.example b/packages/server/env.example index 88eeb51..5f6eb4c 100644 --- a/packages/server/env.example +++ b/packages/server/env.example @@ -5,8 +5,9 @@ REDIS_PASSWORD= SESSION_SECRET= +HOST= + FACEBOOK_CLIENT_ID= -FACEBOOK_CALLBACK_URL= FACEBOOK_CLIENT_SECRET= TWITTER_CONSUMER_KEY= diff --git a/packages/server/src/auth/providers/facebook.js b/packages/server/src/auth/providers/facebook.js index 107d5fe..b316f29 100644 --- a/packages/server/src/auth/providers/facebook.js +++ b/packages/server/src/auth/providers/facebook.js @@ -12,7 +12,7 @@ import genericStrategy from '../strategy' const strategyOptions = { clientID: process.env.FACEBOOK_CLIENT_ID, clientSecret: process.env.FACEBOOK_CLIENT_SECRET, - callbackURL: '/auth/facebook/redirect', + callbackURL: `${process.env.HOST}/auth/facebook/redirect` ?? '/auth/facebook/redirect', profileFields: ['id', 'displayName', 'picture.type(large)', 'email'], } diff --git a/packages/server/src/auth/providers/google.js b/packages/server/src/auth/providers/google.js index 7606b3e..949b16a 100644 --- a/packages/server/src/auth/providers/google.js +++ b/packages/server/src/auth/providers/google.js @@ -1,4 +1,4 @@ -import { Strategy } from 'passport-google-oauth20'; +import { Strategy } from 'passport-google-oauth20' import { Router } from 'express' import passport from 'passport' @@ -8,19 +8,21 @@ import genericStrategy from '../strategy' const strategyOptions = { clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, - callbackURL: '/auth/google/redirect', + callbackURL: `${process.env.HOST}/auth/google/redirect` ?? '/auth/google/redirect', } export function googleStrategy() { - return new Strategy(strategyOptions, genericStrategy('google')); + return new Strategy(strategyOptions, genericStrategy('google')) } export const googleRouter = Router() const googleAuthenticateOptions = { - scope: ['email', 'profile'] + scope: ['email', 'profile'], } -googleRouter.get('/google', passport.authenticate('google', googleAuthenticateOptions)); -googleRouter.get('/google/redirect', - passport.authenticate('google', { successRedirect: '/museo', failureRedirect: '/' })); +googleRouter.get('/google', passport.authenticate('google', googleAuthenticateOptions)) +googleRouter.get( + '/google/redirect', + passport.authenticate('google', { successRedirect: '/museo', failureRedirect: '/' }), +) diff --git a/packages/server/src/auth/providers/twitter.js b/packages/server/src/auth/providers/twitter.js index c4b6dc0..9a133bf 100644 --- a/packages/server/src/auth/providers/twitter.js +++ b/packages/server/src/auth/providers/twitter.js @@ -1,4 +1,4 @@ -import { Strategy } from 'passport-twitter'; +import { Strategy } from 'passport-twitter' import { Router } from 'express' import passport from 'passport' @@ -8,16 +8,18 @@ import genericStrategy from '../strategy' const strategyOptions = { consumerKey: process.env.TWITTER_CONSUMER_KEY, consumerSecret: process.env.TWITTER_CONSUMER_SECRET, - callbackURL: '/auth/twitter/redirect', + callbackURL: `${process.env.HOST}/auth/twitter/redirect` ?? '/auth/twitter/redirect', includeEmail: true, } export function twitterStrategy() { - return new Strategy(strategyOptions, genericStrategy('twitter')); + return new Strategy(strategyOptions, genericStrategy('twitter')) } export const twitterRouter = Router() -twitterRouter.get('/twitter', passport.authenticate('twitter')); -twitterRouter.get('/twitter/redirect', - passport.authenticate('twitter', { successRedirect: '/museo', failureRedirect: '/' })); +twitterRouter.get('/twitter', passport.authenticate('twitter')) +twitterRouter.get( + '/twitter/redirect', + passport.authenticate('twitter', { successRedirect: '/museo', failureRedirect: '/' }), +)