Erstanmeldung fragt nach, statt still ein zweites Konto anzulegen
Wer sich zum ersten Mal ueber den Anmeldedienst anmeldet und hier noch kein Konto hat, bekam bisher wortlos ein neues - mit Rolle "Benutzer" und ohne Verlauf. Wer schon ein Konto hatte, wollte aber fast immer genau das verknuepfen und stand dann mit zwei Konten da. Jetzt zeigt der Rueckweg eine Entscheidungsseite: bestehendes Konto verknuepfen oder ein neues anlegen. Das Verknuepfen verlangt einmalig Benutzername und Passwort des bestehenden Kontos. Genau dieser Nachweis ist der Grund, warum der Anmeldeweg selbst nie fragen darf, welches Konto gemeint ist - ohne ihn koennte sich jeder mit einem beliebigen Konto beim Anmeldedienst an ein fremdes Vorrania-Konto haengen. Die geprueften Angaben liegen dafuer kurzlebig und einmalig in oidc_pending_links; vom Code steht dort nur der SHA-256-Hash, wie bei den API-Tokens. Ein falsch getipptes Passwort verbraucht den Vorgang nicht, und unbekannter Benutzername und falsches Passwort antworten gleich - sonst liessen sich vorhandene Konten abzaehlen. AUTO_CREATE=false blendet den Knopf zum Anlegen aus und laesst sich auch ueber den Dialog nicht umgehen. Der App-Weg bleibt unveraendert, weil er keinen Zwischenschritt anzeigen kann. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
a134b2aad5
commit
eb29143f97
@@ -144,21 +144,34 @@ OIDC_AUTHENTIK_NATIVE_DISCOVERY_URL=https://authentik.example.com/application/o/
|
||||
Danach `./update.sh` (oder `docker compose --env-file .env up -d`).
|
||||
Ob es geklappt hat, verrät `curl http://<server>:8080/api/auth/oidc/providers`.
|
||||
|
||||
**3. Bestehende Konten verknüpfen.** Dafür gibt es zwei Wege:
|
||||
**3. Bestehende Konten verknüpfen.** Beim ersten SSO-Login zu einer noch
|
||||
unbekannten Kennung fragt Vorrania nach, statt still ein zweites Konto
|
||||
anzulegen:
|
||||
|
||||
*Selbst verknüpfen (empfohlen).* Angemeldet bleiben, in der Seitenleiste unten
|
||||
auf den eigenen Namen klicken → **Mein Konto** → *Verknüpfen*. Das funktioniert
|
||||
für jeden Benutzer, braucht keine hinterlegte E-Mail-Adresse und keine
|
||||
Admin-Rechte: Die Berechtigung stammt aus der laufenden Sitzung. Dort lässt sich
|
||||
eine Verknüpfung auch wieder lösen – außer es wäre die letzte
|
||||
Anmeldemöglichkeit des Kontos.
|
||||
> Die Anmeldung über Authentik hat geklappt – zu diesem Zugang gibt es hier aber
|
||||
> noch kein Konto.
|
||||
> **[ Bestehendes Konto verknüpfen ]** oder **[ Neues Konto anlegen ]**
|
||||
|
||||
*Über die E-Mail-Adresse.* Trage sie unter *Benutzer* ein – dieselbe wie in
|
||||
Authentik. Beim ersten SSO-Login wird das Konto dann automatisch gefunden.
|
||||
Verknüpft wird nur bei **bestätigter** Adresse.
|
||||
Das Verknüpfen verlangt einmalig Benutzername und Passwort des bestehenden
|
||||
Kontos. Dieser Nachweis ist der Grund, warum der Anmeldeweg selbst nie fragt
|
||||
„welches Konto?" – ohne ihn könnte sich jeder mit einem beliebigen Konto beim
|
||||
Anmeldedienst an ein fremdes Vorrania-Konto hängen. Rolle und Verlauf bleiben
|
||||
dabei erhalten.
|
||||
|
||||
Ohne eines von beidem entsteht beim ersten Anmelden ein **zweites** Konto mit
|
||||
der Rolle *Benutzer*, statt dass das bestehende übernommen wird.
|
||||
Zwei Wege führen daran vorbei, weil sie das Konto schon vorher finden:
|
||||
|
||||
- **E-Mail-Adresse** unter *Benutzer* eintragen – dieselbe wie in Authentik.
|
||||
Verknüpft wird nur bei **bestätigter** Adresse.
|
||||
- **Vorab verknüpfen**: angemeldet bleiben, unten in der Seitenleiste auf den
|
||||
eigenen Namen → **Mein Konto** → *Verknüpfen*. Dort lässt sich eine
|
||||
Verknüpfung auch wieder lösen – außer es wäre die letzte Anmeldemöglichkeit.
|
||||
|
||||
Mit `OIDC_AUTHENTIK_AUTO_CREATE=false` entfällt der Knopf „Neues Konto anlegen";
|
||||
dann bleibt nur das Verknüpfen mit einem Konto, das der Admin angelegt hat.
|
||||
|
||||
Die App zeigt diesen Dialog nicht – dort gilt weiterhin: bekannte Kennung oder
|
||||
passende Adresse, sonst je nach `AUTO_CREATE` ein neues Konto oder eine Absage.
|
||||
Einmal im Browser verknüpft, funktioniert die App danach ohne Weiteres.
|
||||
|
||||
Weitere Anbieter sind reine Konfiguration: Kürzel in `OIDC_PROVIDERS` ergänzen
|
||||
und einen zweiten Block mit dessen Präfix anlegen (`OIDC_<KÜRZEL>_…`) – am Code
|
||||
|
||||
Reference in New Issue
Block a user