diff --git a/app/controllers/concerns/google.rb b/app/controllers/concerns/google.rb new file mode 100644 index 000000000..c4c7eecf0 --- /dev/null +++ b/app/controllers/concerns/google.rb @@ -0,0 +1,20 @@ +module GoogleConcern + extend ActiveSupport::Concern + + def google_client + app_id = GlobalConfigService.load('GOOGLE_OAUTH_CLIENT_ID', nil) + app_secret = GlobalConfigService.load('GOOGLE_OAUTH_CLIENT_SECRET', nil) + + ::OAuth2::Client.new(app_id, app_secret, { + site: 'https://oauth2.googleapis.com', + authorize_url: 'https://accounts.google.com/o/oauth2/auth', + token_url: '/token' + }) + end + + private + + def base_url + ENV.fetch('FRONTEND_URL', 'http://localhost:3000') + end +end diff --git a/app/controllers/google/callbacks_controller.rb b/app/controllers/google/callbacks_controller.rb index 673d87f11..391e1de0f 100644 --- a/app/controllers/google/callbacks_controller.rb +++ b/app/controllers/google/callbacks_controller.rb @@ -1,4 +1,6 @@ class Google::CallbacksController < OauthCallbackController + include GoogleConcern + private def provider_name @@ -10,13 +12,7 @@ class Google::CallbacksController < OauthCallbackController end def oauth_client - app_id = GlobalConfigService.load('GOOGLE_OAUTH_CLIENT_ID', nil) - app_secret = GlobalConfigService.load('GOOGLE_OAUTH_CLIENT_SECRET', nil) - - ::OAuth2::Client.new(app_id, app_secret, { - site: 'https://oauth2.googleapis.com', - authorize_url: 'https://accounts.google.com/o/oauth2/auth', - token_url: '/token' - }) + # from GoogleConcern + google_client end end