Wie vielleicht bekannt ist unterstützt nur die Rundeck Enterprise Version SSO (Single Sign On) mit OAuth, aber es gibt eine Möglichkeit das mit PreAuth Headern in der Community Edition zu realisieren. Dazu habe ich einen konfigurierbaren Docker Container gebaut, auf der Basis vom offiziellen Rundeck CE Container erweitert um NginX und OAuth2-Proxy.
Sicher die Application ID (als RUNDECK_OAUTH_CLIENT_ID) und das Secret (als RUNDECK_OAUTH_CLIENT_SECRET). Die Callback URL sollte die Gleiche sein wie die RUNDECK_GRAILS_URL plus "/oauth2/callback". Die Callback URL kann jederzeit verändert werden und nur für lokale Tests auf localhost gesetzt sein.
Folgende Scopes müssen gesetzt sein:
python -c 'import os,base64; print(base64.urlsafe_b64encode(os.urandom(32)).decode())'
wie unter OAuth2-Proxy documentation beschrieben, das RUNDECK_OAUTH_COOKIE_SECRET wird zum absichern und verschlüsseln des Cookies verwendet.
docker run -it --rm --name rundeck-oauth -p 8080:80 \  
-e RUNDECK_GRAILS_URL=http://localhost:8080 \  
-e RUNDECK_PREAUTH_ENABLED=true \  
-e RUNDECK_OAUTH_CLIENT_ID="xxxxxx" \  
-e RUNDECK_OAUTH_CLIENT_SECRET="gloas-xxxxxx" \  
-e RUNDECK_OAUTH_COOKIE_SECRET="xxxxx" \  
-e RUNDECK_OAUTH_OIDC_URL="https://gitlab.my-organisation.com" \  
-e RUNDECK_OAUTH_ADMIN_GROUP="rundeck" \  
ghcr.io/geraldhansen/rundeck-oauth
Dort muss Du Deine lokale Rundeck Instanz authorisieren
Wenn alles richtig gemacht wurde, siehst Du jetzt die Rundeck Startseite.