Anmeldung: Host-Abweichung frueh erkennen, weniger auf der Anmeldeseite verraten

Im Betrieb aufgetreten: Die Anwendung lief hinter einem Reverse Proxy unter
einer Domain, in der .env stand aber noch die interne Adresse aus der
Einrichtung. Der Anmeldeknopf setzt den Cookie mit dem laufenden Vorgang auf
dem Host, ueber den der Browser da ist — die Rueckkehradresse fuer den
Anbieter kommt dagegen aus BASE_URL. Der Anbieter schickte den Browser also
auf den anderen Host, der Cookie blieb zurueck, und am Ende stand „Der
Anmeldevorgang ist abgelaufen". Eine Meldung, die die Ursache gut versteckt.

Jetzt prueft der Start beide Adressen und bricht sofort mit einer Erklaerung
ab. Auf dem Bildschirm steht nur die aufgerufene Adresse — die interne gehoert
ins Protokoll, nicht auf eine Seite, die jeder sieht.

Aus demselben Grund faellt der Hinweis „Die Anmeldung mit Passwort ist
abgeschaltet (OIDC_ONLY=true)" weg. Wie die Anmeldung eingerichtet ist, geht
Fremde nichts an; wer hierher gehoert, sieht den einen Knopf und weiss, was zu
tun ist. Beim allerersten Aufruf bleibt der Hinweis, dass der Erste
Administrator wird — der ist dann nuetzlich.

Dazu die Anleitungen: Der Reverse-Proxy-Abschnitt im README nennt jetzt die
drei Kopfzeilen, die die Anwendung vom Proxy erwartet, und was ohne sie
passiert; dazu client_max_body_size fuer Uploads, ein Weg zum Nachpruefen und
die Frage, fuer wen die Codes erreichbar sein sollen. In authentik.md steht,
warum BASE_URL und die Adresse im Browser dieselbe sein muessen.
This commit is contained in:
Florian Wilde
2026-08-17 00:28:31 +02:00
parent fcf41f56fe
commit c38b27ca85
5 changed files with 189 additions and 15 deletions
+10 -6
View File
@@ -94,12 +94,16 @@ export default async function SignInPage({ searchParams }: PageProps) {
Gruppen, Benutzer und die QR-Typen verwalten.
</Notice>
) : oidc?.nurOidc ? (
<p className="text-center text-sm text-slate-500">
Die Anmeldung mit Passwort ist abgeschaltet (<code>OIDC_ONLY=true</code>).
{setup
? " Wer sich zuerst anmeldet, wird Administrator dieser Installation."
: ""}
</p>
/* Bewusst kein Hinweis darauf, dass die Passwort-Anmeldung
abgeschaltet ist. Diese Seite sieht jeder, der die Adresse kennt —
wie die Anmeldung eingerichtet ist, geht Fremde nichts an. Wer
hierher gehört, sieht den einen Knopf und weiß, was zu tun ist.
Beim allerersten Aufruf ist der Hinweis dagegen nützlich. */
setup ? (
<p className="text-center text-sm text-slate-500">
Wer sich zuerst anmeldet, wird Administrator dieser Installation.
</p>
) : null
) : (
<p className="text-center text-sm text-slate-500">
Passwort vergessen? Ein Administrator kann es unter Verwaltung →