diff options
author | Ash McKenzie <amckenzie@gitlab.com> | 2019-06-07 01:02:09 +0000 |
---|---|---|
committer | GitLab Release Tools Bot <robert+release-tools@gitlab.com> | 2019-06-10 07:15:41 +0000 |
commit | 2e1e1f4e6d25cafd6d14551cb7f6fec8ed38c0f1 (patch) | |
tree | 9b62ca6ccadd8e7165dd4a39b50bbce544cf25f9 | |
parent | 1a2e3b72e8948a4da0a440bfd09f7617982a37cc (diff) | |
download | gitlab-ce-2e1e1f4e6d25cafd6d14551cb7f6fec8ed38c0f1.tar.gz |
Merge branch 'sh-fix-openid-connect-defaults' into 'master'
Make OpenID Connect work without requiring a name
Closes #62208
See merge request gitlab-org/gitlab-ce!29312
(cherry picked from commit ad94a024d38707e27afbb9d69390ba5b6bb39eb8)
a30d8e4a Make OpenID Connect work without requiring a name
-rw-r--r-- | changelogs/unreleased/sh-fix-openid-connect-defaults.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/omniauth_initializer.rb | 6 | ||||
-rw-r--r-- | spec/lib/gitlab/omniauth_initializer_spec.rb | 8 |
3 files changed, 19 insertions, 0 deletions
diff --git a/changelogs/unreleased/sh-fix-openid-connect-defaults.yml b/changelogs/unreleased/sh-fix-openid-connect-defaults.yml new file mode 100644 index 00000000000..1ed977c9be6 --- /dev/null +++ b/changelogs/unreleased/sh-fix-openid-connect-defaults.yml @@ -0,0 +1,5 @@ +--- +title: Make OpenID Connect work without requiring a name +merge_request: 29312 +author: +type: fixed diff --git a/lib/gitlab/omniauth_initializer.rb b/lib/gitlab/omniauth_initializer.rb index 2a2083ebae0..83204fa5d18 100644 --- a/lib/gitlab/omniauth_initializer.rb +++ b/lib/gitlab/omniauth_initializer.rb @@ -63,6 +63,12 @@ module Gitlab { remote_sign_out_handler: authentiq_signout_handler } when 'shibboleth' { fail_with_empty_uid: true } + when 'openid_connect' + # If a name argument is omitted, OmniAuth will expect that the + # matching route is /auth/users/openidconnect instead of + # /auth/users/openid_connect because of + # https://gitlab.com/gitlab-org/gitlab-ce/issues/62208#note_178780341. + { name: 'openid_connect' } else {} end diff --git a/spec/lib/gitlab/omniauth_initializer_spec.rb b/spec/lib/gitlab/omniauth_initializer_spec.rb index f9c0daf1ef1..32296caf819 100644 --- a/spec/lib/gitlab/omniauth_initializer_spec.rb +++ b/spec/lib/gitlab/omniauth_initializer_spec.rb @@ -83,5 +83,13 @@ describe Gitlab::OmniauthInitializer do subject.execute([cas3_config]) end + + it 'configures name for openid_connect' do + openid_connect_config = { 'name' => 'openid_connect', 'args' => {} } + + expect(devise_config).to receive(:omniauth).with(:openid_connect, name: 'openid_connect') + + subject.execute([openid_connect_config]) + end end end |