2014-10-15 03:53:16 -04:00
|
|
|
if Gitlab::LDAP::Config.enabled?
|
|
|
|
module OmniAuth::Strategies
|
|
|
|
server = Gitlab.config.ldap.servers.values.first
|
2014-10-17 12:03:34 -04:00
|
|
|
klass = server['provider_class']
|
|
|
|
const_set(klass, Class.new(LDAP)) unless klass == 'LDAP'
|
2014-10-15 03:53:16 -04:00
|
|
|
end
|
2014-10-14 03:22:59 -04:00
|
|
|
|
2014-10-15 03:53:16 -04:00
|
|
|
OmniauthCallbacksController.class_eval do
|
|
|
|
server = Gitlab.config.ldap.servers.values.first
|
|
|
|
alias_method server['provider_name'], :ldap
|
|
|
|
end
|
2015-02-03 00:53:27 -05:00
|
|
|
end
|
2015-04-24 11:03:18 -04:00
|
|
|
|
2015-08-23 16:31:02 -04:00
|
|
|
OmniAuth.config.full_host = Settings.gitlab['base_url']
|
2015-04-24 11:03:18 -04:00
|
|
|
OmniAuth.config.allowed_request_methods = [:post]
|
2015-05-27 11:40:21 -04:00
|
|
|
#In case of auto sign-in, the GET method is used (users don't get to click on a button)
|
|
|
|
OmniAuth.config.allowed_request_methods << :get if Gitlab.config.omniauth.auto_sign_in_with_provider.present?
|
2015-04-24 11:03:18 -04:00
|
|
|
OmniAuth.config.before_request_phase do |env|
|
2015-12-08 08:41:19 -05:00
|
|
|
OmniAuth::RequestForgeryProtection.call(env)
|
2015-04-24 11:03:18 -04:00
|
|
|
end
|
2015-06-15 12:04:30 -04:00
|
|
|
|
|
|
|
if Gitlab.config.omniauth.enabled
|
|
|
|
Gitlab.config.omniauth.providers.each do |provider|
|
2015-06-16 07:44:52 -04:00
|
|
|
if provider['name'] == 'kerberos'
|
|
|
|
require 'omniauth-kerberos'
|
|
|
|
end
|
2015-06-15 12:04:30 -04:00
|
|
|
end
|
|
|
|
end
|