From 6dcbf1f5bf6721cbc0c84bddbc3ee86b6e504901 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 6 Jun 2019 15:56:08 -0700 Subject: Fix OpenID Connect documentation Many users were unable to get logins working with OpenID Connect because of a missing `name` argument in the configuration. This resulted in 404s immediately after attempting to login. This describes the workaround mentioned in https://gitlab.com/gitlab-org/gitlab-ce/issues/62208#note_178774809. This also adds an example profile for using Google. --- doc/administration/auth/oidc.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/doc/administration/auth/oidc.md b/doc/administration/auth/oidc.md index e55f7dbb4df..df4f22aa3e7 100644 --- a/doc/administration/auth/oidc.md +++ b/doc/administration/auth/oidc.md @@ -31,6 +31,7 @@ The OpenID Connect will provide you with a client details and secret for you to { 'name' => 'openid_connect', 'label' => '', 'args' => { + "name' => 'openid_connect', 'scope' => ['openid','profile'], 'response_type' => 'code', 'issuer' => '', @@ -53,6 +54,7 @@ The OpenID Connect will provide you with a client details and secret for you to - { name: 'openid_connect', label: '', args: { + name: 'openid_connect', scope: ['openid','profile'], response_type: 'code', issuer: '', @@ -103,3 +105,36 @@ On the sign in page, there should now be an OpenID Connect icon below the regula Click the icon to begin the authentication process. The OpenID Connect provider will ask the user to sign in and authorize the GitLab application (if confirmation required by the client). If everything goes well, the user will be redirected to GitLab and will be signed in. + +## Example configurations + +The following configurations illustrate how to set up OpenID with +different providers with Omnibus GitLab. + +### Google + +See the [Google +documentation](https://developers.google.com/identity/protocols/OpenIDConnect) +for more details: + +```ruby + gitlab_rails['omniauth_providers'] = [ + { + 'name' => 'openid_connect', + 'label' => 'Google OpenID', + 'args' => { + 'name' => 'openid_connect', + 'scope' => ['openid', 'profile', 'email'], + 'response_type' => 'code', + 'issuer' => 'https://accounts.google.com', + 'client_auth_method' => 'query', + 'discovery' => true, + 'uid_field' => 'preferred_username', + 'client_options' => { + 'identifier' => '', + 'secret' => '', + 'redirect_uri' => 'https://example.com/users/auth/openid_connect/callback', + } + } + } +``` -- cgit v1.2.1