2021-03-11 19:13:27 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-04-08 14:13:33 +05:30
|
|
|
if Gitlab::Auth::Ldap::Config.enabled?
|
2015-04-26 12:48:37 +05:30
|
|
|
module OmniAuth::Strategies
|
2020-04-08 14:13:33 +05:30
|
|
|
Gitlab::Auth::Ldap::Config.available_servers.each do |server|
|
2017-09-10 17:25:29 +05:30
|
|
|
# do not redeclare LDAP
|
|
|
|
next if server['provider_name'] == 'ldap'
|
2015-04-26 12:48:37 +05:30
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
const_set(server['provider_class'], Class.new(LDAP))
|
2017-09-10 17:25:29 +05:30
|
|
|
end
|
2015-04-26 12:48:37 +05:30
|
|
|
end
|
|
|
|
end
|
2015-09-11 14:41:01 +05:30
|
|
|
|
|
|
|
OmniAuth.config.full_host = Settings.gitlab['base_url']
|
|
|
|
OmniAuth.config.allowed_request_methods = [:post]
|
2016-06-16 23:09:34 +05:30
|
|
|
# In case of auto sign-in, the GET method is used (users don't get to click on a button)
|
2015-09-11 14:41:01 +05:30
|
|
|
OmniAuth.config.allowed_request_methods << :get if Gitlab.config.omniauth.auto_sign_in_with_provider.present?
|
|
|
|
OmniAuth.config.before_request_phase do |env|
|
2017-09-10 17:25:29 +05:30
|
|
|
Gitlab::RequestForgeryProtection.call(env)
|
2015-09-11 14:41:01 +05:30
|
|
|
end
|
2020-04-08 14:13:33 +05:30
|
|
|
|
|
|
|
# Use json formatter
|
|
|
|
OmniAuth.config.logger.formatter = Gitlab::OmniauthLogging::JSONFormatter.new
|
|
|
|
OmniAuth.config.logger.level = Logger::ERROR if Rails.env.production?
|