AAI
OpenID Connect configuration
The HZDR GitLab integrates with the Helmholtz AAI using OpenID Connect.
Therefore, the variable gitlab_rails['omniauth_providers']
is
configured in /etc/gitlab/gitlab.rb
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | gitlab_rails['omniauth_providers'] = [
{
'name' => 'openid_connect',
'label' => 'Helmholtz AAI',
'icon' => 'helmholtz.png',
'args' => {
'name' => 'openid_connect',
'scope' => ['openid','profile', 'email', 'eduperson_principal_name'],
'response_type' => 'code',
'issuer' => 'https://login.helmholtz.de/oauth2',
'discovery' => true,
'client_auth_method' => 'basic',
'uid_field' => 'eduperson_principal_name',
'send_scope_to_token_endpoint' => 'true',
'client_options' => {
'identifier' => 'CHANGEME',
'secret' => 'CHANGEME',
'redirect_uri' => 'https://{ GITLAB_DOMAIN }/users/auth/openid_connect/callback'
}
}
},
]
|
At the same time, Omniauth is enabled to allow single
sign-on via the configured provider.
| gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['openid_connect']
|
Depending on your requirements you might want users who sign in via the
Helmholtz AAI to become
external users
by default.
This option is configurable in /etc/gitlab/gitlab.rb
as well.
| gitlab_rails['omniauth_external_providers'] = ['openid_connect']
|
Further information is available in the
GitLab documentation.