oauth2-proxy (v7.15.3) place Keycloak devant toute app sans OIDC natif (auth external, utilisateur via en-tête). Rôle paramétrable, réutilisable. Éprouvé devant icingaweb2 (backend=external, X-Forwarded-Preferred-Username). Prouvé : testmail → oauth2-proxy → Keycloak → icingaweb2 /dashboard, connecté. Ferme le gap LDAP-direct d'icingaweb2. Réglages appris : insecure_oidc_allow_unverified_email (IdP interne) ; reverse-proxy passe X-Forwarded-* pas X-Auth-Request-* ; handler nginx en restart (pas reload) — un changement d'adresse d'écoute n'est pas pris par un reload gracieux. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
13 lines
505 B
Django/Jinja
13 lines
505 B
Django/Jinja
; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
|
|
{% if serveur_icingaweb2_auth == 'external' %}
|
|
; SSO : l'utilisateur est fourni par la passerelle (oauth2-proxy → Keycloak) via REMOTE_USER.
|
|
[icingaweb2]
|
|
backend = "external"
|
|
{% else %}
|
|
[icingaweb2]
|
|
backend = "ldap"
|
|
resource = "icingaweb_ldap"
|
|
user_class = "{{ serveur_icingaweb2_ldap_user_class }}"
|
|
user_name_attribute = "{{ serveur_icingaweb2_ldap_user_attr }}"
|
|
base_dn = "{{ serveur_icingaweb2_ldap_users_dn }}"
|
|
{% endif %}
|