docs: add consumer audience split and external deps

This commit is contained in:
2026-01-15 09:09:59 +01:00
parent 10ec58f744
commit a732a5afc4
19 changed files with 327 additions and 16 deletions

View File

@ -23,6 +23,26 @@ OIDC ist optional und zusaetzlich zu PAM.
- `SKD_OIDC_SCOPES` (default `openid profile email`)
- `SKD_SESSION_COOKIE_SECURE` (default `false`): Setze `true` fuer HTTPS.
- `SKD_OIDC_STATE_COOKIE_NAME` (default `skd_oidc_state`)
Referenz: OIDC-Service (intern) https://git.wlkns.org/stephan/oicd
### OIDC-Einbindung (Kurz)
1. Issuer setzen (muss der externen URL des IdP entsprechen):
- `SKD_OIDC_ISSUER=https://auth.example.org`
2. Client registrieren (DCR), falls der IdP es erlaubt:
```bash
export SKD_OIDC_ISSUER="https://auth.example.org"
export SKD_OIDC_REDIRECT_URI="https://kiddo.example.org/login/oidc/callback"
export OIDC_INITIAL_ACCESS_TOKEN="example-token"
./scripts/register_oidc_client.sh
```
3. Client-Credentials in `/etc/skd/env` setzen:
```
SKD_OIDC_CLIENT_ID=example-client-id
SKD_OIDC_CLIENT_SECRET=example-client-secret
SKD_OIDC_REDIRECT_URI=https://kiddo.example.org/login/oidc/callback
SKD_SESSION_COOKIE_SECURE=true
```
Hinweis: OIDC ist aktiv, sobald Issuer, Client-ID und Secret gesetzt sind.
## Session/Benutzerverwaltung
- `SKD_SESSION_COOKIE_NAME` (default `skd_session`)
@ -49,6 +69,17 @@ OIDC ist optional und zusaetzlich zu PAM.
## Dry-Run
- `SKD_DRY_RUN` (default `false`): Keine echten System-Aktionen, nur Logging.
## Tuning und Betrieb (Power-User)
- `SKD_TOKEN_TTL_SECONDS`: kuerzere Tokens reduzieren Risiko, laengere Tokens reduzieren Login-Haeufigkeit.
- `SKD_DEFAULT_COUNTDOWN`: steuert Nutzerwarnung vor Sperre/Shutdown.
- `SKD_NOTIFY_TIMEOUT`: Dauer der Desktop-Benachrichtigung.
- `SKD_SESSION_COOKIE_SECURE=true`: zwingend bei HTTPS, sonst Login-Cookies unsicher.
## Hinweise
- `scripts/install.sh` erstellt `/etc/skd/env` und setzt Default-Werte fuer PAM/Allowed-User.
- Aenderungen in `/etc/skd/env` erfordern einen Service-Restart (`sudo systemctl restart skd.service`).
## Weitere Dokumente
- Nutzung/Automation: `docs/USAGE.md`
- Deployment: `docs/DEPLOYMENT.md`
- Architektur: `docs/ARCHITECTURE.md`