If `omniauth_auto_sign_in_with_provider` is set,

it also means we're using omniauth, so we need to set it up.
This commit is contained in:
Lin Jen-Shin 2018-07-02 16:46:24 +08:00
parent 17a38b5a8b
commit 3b8b38fb0f
3 changed files with 7 additions and 2 deletions

View File

@ -219,7 +219,7 @@ Devise.setup do |config|
end
end
if Gitlab.config.omniauth.enabled
if Gitlab::OmniauthInitializer.enabled?
Gitlab::OmniauthInitializer.new(config).execute(Gitlab.config.omniauth.providers)
end
end

View File

@ -17,7 +17,7 @@ OmniAuth.config.before_request_phase do |env|
Gitlab::RequestForgeryProtection.call(env)
end
if Gitlab.config.omniauth.enabled
if Gitlab::OmniauthInitializer.enabled?
provider_names = Gitlab.config.omniauth.providers.map(&:name)
Gitlab::Auth.omniauth_setup_providers(provider_names)
end

View File

@ -1,5 +1,10 @@
module Gitlab
class OmniauthInitializer
def self.enabled?
Gitlab.config.omniauth.enabled ||
Gitlab.config.omniauth.auto_sign_in_with_provider.present?
end
def initialize(devise_config)
@devise_config = devise_config
end