diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-07-06 10:06:48 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-07-06 10:06:48 +0000 |
commit | b0fa01fce3822da94aee6264829841996beb6df3 (patch) | |
tree | f4a317c05d8536368da398ae495ab7506b5b649c | |
parent | afb3caac797f5c90af9ff4989a3730299d39e3f1 (diff) | |
parent | 772be582d1aad0481b67ad552703035ce7dd1fd8 (diff) | |
download | gitlab-ce-b0fa01fce3822da94aee6264829841996beb6df3.tar.gz |
Merge branch '48677-also-check-auto_sign_in_with_provider' into 'master'
Resolve "Undefined omniauth_authorize_path when omniauth_enabled not enabled"
Closes #48677
See merge request gitlab-org/gitlab-ce!20302
-rw-r--r-- | changelogs/unreleased/48677-also-check-auto_sign_in_with_provider.yml | 5 | ||||
-rw-r--r-- | config/initializers/devise.rb | 2 | ||||
-rw-r--r-- | config/initializers/omniauth.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/omniauth_initializer.rb | 5 |
4 files changed, 12 insertions, 2 deletions
diff --git a/changelogs/unreleased/48677-also-check-auto_sign_in_with_provider.yml b/changelogs/unreleased/48677-also-check-auto_sign_in_with_provider.yml new file mode 100644 index 00000000000..3021fe6b9c8 --- /dev/null +++ b/changelogs/unreleased/48677-also-check-auto_sign_in_with_provider.yml @@ -0,0 +1,5 @@ +--- +title: Load Devise with Omniauth when auto_sign_in_with_provider is configured +merge_request: 20302 +author: +type: fixed diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index d051b699102..e5772c33307 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -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 diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index a7fa926a853..c558eb28ced 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -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 diff --git a/lib/gitlab/omniauth_initializer.rb b/lib/gitlab/omniauth_initializer.rb index 35ed3a5ac05..a71acda8701 100644 --- a/lib/gitlab/omniauth_initializer.rb +++ b/lib/gitlab/omniauth_initializer.rb @@ -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 |