Skip to content

Commit bec130c

Browse files
committed
fix: use APPLICATION_HOST for admin oauth callback_url
1 parent d8e19c7 commit bec130c

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

app/controllers/admin/service_account_controller.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def authorize
1616
session[:oauth_state] = SecureRandom.hex(32)
1717
session[:oauth_initiator_user_id] = current_user.id
1818

19-
callback_url = "#{request.base_url}/admin/oauth/callback"
19+
callback_url = "#{app_base_url}/admin/oauth/callback"
2020

2121
client = Signet::OAuth2::Client.new(
2222
client_id: Rails.application.credentials.dig(:google, :client_id),
@@ -55,7 +55,7 @@ def callback
5555

5656
require "signet/oauth_2/client"
5757

58-
callback_url = "#{request.base_url}/admin/oauth/callback"
58+
callback_url = "#{app_base_url}/admin/oauth/callback"
5959

6060
client = Signet::OAuth2::Client.new(
6161
client_id: Rails.application.credentials.dig(:google, :client_id),
@@ -88,6 +88,14 @@ def revoke
8888

8989
private
9090

91+
def app_base_url
92+
if (host = ENV["APPLICATION_HOST"])
93+
"#{request.protocol}#{host}"
94+
else
95+
request.base_url
96+
end
97+
end
98+
9199
def require_owner!
92100
return if current_user&.owner?
93101

0 commit comments

Comments
 (0)