open3A unterstützt mit dem LDAP-Plugin (ab Version 4.3) SSO (Single-Sign-On) per openID-Connect. Die Authentifizierung erfolgt dabei zum Beispiel über die Software keycloak und den Apache-Webserver mit dem Modul mod_auth_openidc.
Folgende Apache-Konfiguration kann dafür genutzt werden:
LimitRequestFieldSize 16384 OIDCStateMaxNumberOfCookies 7 true OIDCProviderMetadataURL https://…/openid-configuration OIDCRedirectURI https://…/redirect_uri OIDCClientID rundeck OIDCClientSecret XXX OIDCCryptoPassphrase XXXX OIDCScope "openid profile email" OIDCRefreshAccessTokenBeforeExpiry 60 OIDCJWKSRefreshInterval 3600 OIDCRemoteUserClaim email
RewriteEngine On RewriteRule ^redirect_uri$ / [R=302,L] ProxyPreserveHost On <Location "/logout"> AuthType openid-connect Require valid-user OIDCUnAuthAction auth # Clear the local session UnsetEnv OIDC_CLAIM_sub UnsetEnv OIDC_CLAIM_session_state UnsetEnv OIDC_CLAIM_id_token UnsetEnv OIDC_CLAIM_groups UnsetEnv OIDC_access_token # Remove OIDC session cookies Header always set Set-Cookie "mod_auth_openidc_session=; Max-Age=0; Path=/; HttpOnly; Secure" # Redirect to Keycloak's logout endpoint RewriteEngine on RedirectMatch /logout https://…/protocol/openid-connect/logout </Location>
<Location /> SSLRequireSSL SSLOptions +StdEnvVars AuthType openid-connect Require valid-user RequestHeader set "X-Forwarded-Username" %{REMOTE_USER}s RequestHeader set "X-Forwarded-Roles" %{OIDC_CLAIM_groups}e
</Location>
Verwenden Sie dann für die Authentifizierung die Adresse https://URLZurOpen3A-Installation/plugins/LDAP/OIDC.php
Diese Seite führt die Anmeldung über die Umgebungsvariablen durch und leitet auf die Anwendung weiter.