Commit Graph

9 Commits

Author SHA1 Message Date
GitLab Bot c48065a833 Add latest changes from gitlab-org/gitlab@master 2020-11-18 00:09:02 +00:00
GitLab Bot c59765a50a Add latest changes from gitlab-org/gitlab@master 2020-06-24 18:09:03 +00:00
GitLab Bot 48650fe1bf Add latest changes from gitlab-org/gitlab@master 2020-05-18 12:08:08 +00:00
Thong Kuah 8c42a0eac0 Add frozen_string_literal to lib part 2
Using the sed script from
https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
2019-08-23 00:15:24 +12:00
Vincent Fazio f280cc1c9b Add client_auth_method test cases for OIDC
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
2019-07-15 14:56:24 -05:00
Stan Hu 350f19f59f Bump omniauth_openid_connect to 0.3.1
In https://gitlab.com/gitlab-org/gitlab-ce/issues/62208, users were
seeing 404 errors when they configured their OpenID provider without a
name parameter since OmniAuth would use the name `openidconnect` instead
`openid_connect`.

https://github.com/m0n9oose/omniauth_openid_connect/pull/23 makes the
default parameter `openid_connect` so this additional initializer in
GitLab is not necessary. Plus, this change enables users to use multiple
OpenID Connect providers if they desire.
2019-06-08 08:04:44 -07:00
Stan Hu a30d8e4a49 Make OpenID Connect work without requiring a name
If there is no name argument given, OmniAuth will try to guess the name
by the class name. In
https://github.com/omniauth/omniauth/blob/v1.9.0/lib/omniauth/strategy.rb#L139,
`OmniAuth::Strategies::OpenIDConnect` gets translated to
`openidconnect`.

This leads to an immediate 404 error after clicking the login button
because OmniAuth can't match the current route (/users/auth/openid_connect)
against the expected one (/users/auth/openidconnect).

Other providers, such as Google OAuth2, set this name as the default
option within the OmniAuth Strategy. Until a fix is merged upstream,
let's just set the parameter ourselves.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/62208
2019-06-06 16:23:23 -07:00
Stan Hu bf8f4c135a Fix OmniAuth OAuth2Generic strategy not loading
In https://github.com/rails/rails/commit/83b767ce, Rails 5.1 removed
support for using a String to specify a middleware. When the
strategy_class argument is passed from the GitLab YAML config to Devise,
Devise passes the string value straight through to Rails, and GitLab
would crash with a NoMethodError inside ActionDispatch::MiddlewareStack.

To make this OmniAuth strategy work again, we normalize the arguments by
converting the strategy_class value into an actual Class.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/62216
2019-05-23 12:17:56 -07:00
James Edwards-Jones da2191afa0 OmniauthInitializer created to improve devise.rb
This should simplify refactoring and allow testing
2018-03-20 17:39:52 +00:00