diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb
index c06a0f6fdc21f95795be6b852b3510531c4676f6..3cc650546ed81460c3c8f68d2f8f925ac75265bb 100644
--- a/config/initializers/omniauth.rb
+++ b/config/initializers/omniauth.rb
@@ -23,18 +23,24 @@ Rails.application.config.middleware.use OmniAuth::Builder do
   if lb.present?
     provider :openid_connect, setup: lambda { |env|
       request = Rack::Request.new(env)
-      current_provider = request.params['current_provider']
+      current_provider = request.params['current_provider'] || request.url&.split('.')&.first
       secret = Tenant.find_by(name: current_provider)&.client_secret
+      issuer_url = File.join issuer.to_s, "/#{current_provider}"
 
-      env['omniauth.strategy'].options[:issuer] = File.join issuer.to_s, "/#{current_provider}"
+      env['omniauth.strategy'].options[:issuer] = issuer_url
       env['omniauth.strategy'].options[:scope] = %i[openid email profile]
       env['omniauth.strategy'].options[:uid_field] = ENV.fetch('OPENID_CONNECT_UID_FIELD', 'preferred_username')
       env['omniauth.strategy'].options[:discovery] = true
       env['omniauth.strategy'].options[:client_options].identifier = ENV.fetch('OPENID_CONNECT_CLIENT_ID')
       env['omniauth.strategy'].options[:client_options].secret = secret
       env['omniauth.strategy'].options[:client_options].redirect_uri = File.join(
-        ENV.fetch('OPENID_CONNECT_REDIRECT', ''), 'auth', 'openid_connect', 'callback'
+        File.join('https://', "#{current_provider}.#{ENV.fetch('OPENID_CONNECT_REDIRECT', '')}", 'auth', 'openid_connect', 'callback')
       )
+      env['omniauth.strategy'].options[:client_options].authorization_endpoint = File.join(issuer_url, 'protocol', 'openid-connect', 'auth')
+      env['omniauth.strategy'].options[:client_options].token_endpoint = File.join(issuer_url, 'protocol', 'openid-connect', 'token')
+      env['omniauth.strategy'].options[:client_options].userinfo_endpoint = File.join(issuer_url, 'protocol', 'openid-connect', 'userinfo')
+      env['omniauth.strategy'].options[:client_options].jwks_uri = File.join(issuer_url, 'protocol', 'openid-connect', 'certs')
+      env['omniauth.strategy'].options[:client_options].end_session_endpoint = File.join(issuer_url, 'protocol', 'openid-connect', 'logout')
     }
   elsif issuer.present?
     provider :openid_connect,