Files
proxdeploy/.env.example
T
florian.wildeandClaude Opus 5.5 6d6b0ff121 feat(auth): Anmeldung per OIDC mit Rollen aus Gruppen
Authorization Code mit PKCE, State und Nonce über openid-client 6.8.8; die Rolle kommt bei jeder Anmeldung aus dem Gruppen-Claim. Lokale Konten werden nie über den Namen übernommen, verknüpfen geht nur angemeldet. Getestet gegen einen Mock-IdP inklusive gefälschtem State, falscher Nonce und fremder Audience.

Closes #016

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:57:50 +02:00

45 lines
2.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ── Datenbank ────────────────────────────────────────────────────────────────
DATABASE_URL=postgresql://proxdeploy:proxdeploy@localhost:5437/proxdeploy
# Nur für Tests; wird vor jedem Test geleert.
TEST_DATABASE_URL=postgresql://proxdeploy:proxdeploy@localhost:5437/proxdeploy_test
# ── Geheimnisse ──────────────────────────────────────────────────────────────
# Schlüssel für AES-256-GCM (Proxmox-Token, SSH-Schlüssel, OIDC-Secret): genau 32 Byte, base64.
# Erzeugen: openssl rand -base64 32 – NIE ändern, sonst sind gespeicherte Geheimnisse unlesbar.
PROXDEPLOY_SCHLUESSEL=
# Signiert die Sitzungscookies. Erzeugen: openssl rand -base64 48
SITZUNG_GEHEIMNIS=
# ── Adresse und Reverse-Proxy ────────────────────────────────────────────────
# Öffentliche Adresse, wie Browser und CLI sie sehen (ohne Schrägstrich am Ende).
APP_URL=http://localhost:3000
# true hinter einem Reverse-Proxy: X-Forwarded-For/-Proto werden ausgewertet.
TRUST_PROXY=false
# ── Erster Administrator ─────────────────────────────────────────────────────
# Wird nur angelegt, solange es noch keinen Benutzer gibt. Danach wirkungslos.
ADMIN_BENUTZER=admin
ADMIN_PASSWORT=
# ── OIDC (optional, z. B. authentik) ─────────────────────────────────────────
# Beim IdP als Redirect-URI eintragen: <APP_URL>/api/v1/auth/oidc/rueckruf
# Client-Typ „confidential“, Scopes openid profile email; der Gruppen-Claim muss im ID-Token stehen.
OIDC_AKTIV=false
OIDC_ISSUER=
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_ANZEIGENAME=SSO
# Gruppen-Claim und Gruppennamen für die Rollen. Wer in keiner der beiden Gruppen ist, kommt nicht
# hinein. Beide leer = jeder beim IdP angemeldete Benutzer wird Operator.
OIDC_GRUPPEN_CLAIM=groups
OIDC_GRUPPE_ADMIN=proxdeploy-admins
OIDC_GRUPPE_OPERATOR=proxdeploy-operators
# ── Worker ───────────────────────────────────────────────────────────────────
# Wie viele Aufträge gleichzeitig laufen dürfen.
WORKER_PARALLEL=4
# ── Logs ─────────────────────────────────────────────────────────────────────
# trace | debug | info | warn | error
LOG_LEVEL=info