From 4582794ad482dea06d3d3f8057ed373d66a99485 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Sun, 2 Jun 2024 19:33:42 +0530 Subject: [PATCH] feat: bring back Microsoft Controller I made a booboo, Microsoft concern was actually used in Microsoft::AuthorizationsController, which needed the OAuth client, let's bring it back --- app/controllers/concerns/microsoft.rb | 21 +++++++++++++++++++ .../microsoft/callbacks_controller.rb | 18 ++++++---------- 2 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 app/controllers/concerns/microsoft.rb diff --git a/app/controllers/concerns/microsoft.rb b/app/controllers/concerns/microsoft.rb new file mode 100644 index 000000000..507b9f8a3 --- /dev/null +++ b/app/controllers/concerns/microsoft.rb @@ -0,0 +1,21 @@ +module MicrosoftConcern + extend ActiveSupport::Concern + + def microsoft_client + app_id = GlobalConfigService.load('AZURE_APP_ID', nil) + app_secret = GlobalConfigService.load('AZURE_APP_SECRET', nil) + + ::OAuth2::Client.new(app_id, app_secret, + { + site: 'https://login.microsoftonline.com', + authorize_url: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize', + token_url: 'https://login.microsoftonline.com/common/oauth2/v2.0/token' + }) + end + + private + + def base_url + ENV.fetch('FRONTEND_URL', 'http://localhost:3000') + end +end diff --git a/app/controllers/microsoft/callbacks_controller.rb b/app/controllers/microsoft/callbacks_controller.rb index a409096de..2f07505fc 100644 --- a/app/controllers/microsoft/callbacks_controller.rb +++ b/app/controllers/microsoft/callbacks_controller.rb @@ -1,6 +1,12 @@ class Microsoft::CallbacksController < OauthCallbackController + include MicrosoftConcern + private + def oauth_client + microsoft_client + end + def provider_name 'microsoft' end @@ -8,16 +14,4 @@ class Microsoft::CallbacksController < OauthCallbackController def imap_address 'outlook.office365.com' end - - def oauth_client - app_id = GlobalConfigService.load('AZURE_APP_ID', nil) - app_secret = GlobalConfigService.load('AZURE_APP_SECRET', nil) - - ::OAuth2::Client.new(app_id, app_secret, - { - site: 'https://login.microsoftonline.com', - authorize_url: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize', - token_url: 'https://login.microsoftonline.com/common/oauth2/v2.0/token' - }) - end end