This commit is contained in:
Bastian Wagner
2026-07-20 18:36:54 +02:00
parent b357de6a35
commit e2504ab108
3 changed files with 21 additions and 4 deletions

View File

@@ -8,7 +8,7 @@ der frühere Mechanismus „erster Benutzer wird Administrator“ existiert nich
```env
OIDC_ADMIN_ROLE=hauspilot-admin
OIDC_ROLES_CLAIM=roles
OIDC_ROLES_CLAIM=groups
OIDC_ROLE_MATCH_CASE_SENSITIVE=true
```
@@ -17,6 +17,18 @@ OIDC_ROLE_MATCH_CASE_SENSITIVE=true
`realm_access.roles` oder `resource_access.hauspilot.roles`. Der Claim darf ein String oder ein
Array aus Strings sein; Leerwerte und Duplikate werden entfernt.
Der konfigurierte Claim muss vom Provider fuer die angeforderten Scopes geliefert werden. Fuer
Provider, die Gruppen ueber den standardnahen `groups`-Scope in UserInfo bereitstellen, gilt:
```env
OIDC_SCOPES=openid profile email groups
OIDC_ROLES_CLAIM=groups
```
Das Backend liest den `userinfo_endpoint` aus der OIDC-Discovery und ruft ihn serverseitig mit dem
Access-Token auf. Der Access-Token und die vollstaendigen Claims werden nicht an den Browser gegeben
oder protokolliert.
Ist `OIDC_ADMIN_ROLE` leer oder nicht gesetzt, protokolliert der Start eine Warnung. HausPilot
fügt dann keine OIDC-Administratorzuweisung hinzu und entfernt auch keine bestehende. Ein gesetztes
`OIDC_ADMIN_ROLE` ohne gültiges `OIDC_ROLES_CLAIM` führt zu einem Startfehler.