Ohne authentik gab es nur den Notfall-Admin – ein geteiltes Konto ohne Rollen und ohne erkennbare Akteure im Audit-Log. Admins legen jetzt lokale Konten an; sshkv erzeugt ein Einmal-Passwort, das bei der ersten Anmeldung ersetzt wird, danach ist TOTP Pflicht. Rollen, Sperren (beendet Sitzungen sofort) und Zurücksetzen unter Einstellungen → Benutzer, nur für Admins mit frischer Bestätigung. SSHKV_LOKALE_KONTEN=0 schaltet lokale Konten ab; der Notfall-Admin bleibt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
697 B
TypeScript
21 lines
697 B
TypeScript
import type { HuellenBenutzer } from "@/components/huelle/typen";
|
||
import { sitzungErforderlich } from "@/server/auth/sitzungspflicht";
|
||
|
||
/**
|
||
* Der Benutzer fuer die Seitenleiste – aus der echten Sitzung (#004). Ohne Sitzung leitet
|
||
* `sitzungErforderlich` zur Anmeldung weiter.
|
||
*/
|
||
export async function huellenBenutzerErmitteln(): Promise<HuellenBenutzer> {
|
||
const { benutzer, sitzung } = await sitzungErforderlich();
|
||
return {
|
||
name: benutzer.name,
|
||
rolle: benutzer.rolle,
|
||
herkunft:
|
||
sitzung.herkunft === "notfall"
|
||
? "Notfallzugang"
|
||
: sitzung.herkunft === "lokal"
|
||
? "lokales Konto"
|
||
: (process.env["SSHKV_OIDC_NAME"] ?? "authentik"),
|
||
};
|
||
}
|