CodamAIDocs
Themafertig

Das Passwort setzen

CIAS sieht nie ein Passwort. Wie die Person nach der Bestätigung ihr Passwort bei Keycloak setzt und was ohne Passwort-Setz-Link passiert.

Ausprägungen
mit Setz-Link in der Willkommensmailohne Link („Passwort vergessen“)Link später per Admin

Worum es geht

Bei der Registrierung gibt niemand ein Passwort ein. CIAS nimmt keine Passwörter entgegen, speichert keine und sieht keine. Das Passwort setzt die Person bei Keycloak, auf einer Seite von Keycloak.

Damit das nach der Registrierung reibungslos geht, verlangt CIAS bei der Freischaltung, dass das Konto ein Passwort setzt, und schickt in der Willkommensmail möglichst einen direkten Link dafür.

sequenceDiagram
    participant C as CIAS
    participant K as Keycloak
    participant X as Keycloak-Erweiterung
    participant M as E-Mail
    participant B as Benutzer
    C->>K: Konto freischalten
    C->>K: Pflichtaktion „Passwort setzen“ (UPDATE_PASSWORD)
    C->>X: POST /admin/realms/{realm}/cias-action-links
    X-->>C: Link und Ablaufzeit
    C->>M: Willkommensmail mit Link
    M-->>B: Mail
    B->>K: öffnet den Link
    K-->>B: Seite „Neues Passwort“
    B->>K: Passwort zweimal eingeben
    K-->>B: zurück zur Anmeldeseite der Anwendung

Die Keycloak-Erweiterung ist ein kleines Zusatzmodul, das in Keycloak läuft (cias-iam-keycloak-provider). Sie erzeugt denselben Einmal-Link, den Keycloak auch selbst per Mail verschicken würde, gibt ihn aber an CIAS zurück. So verschickt CIAS die Mail in seinem eigenen Stil und mit seinen Vorlagen. Der Link gilt nur einmal und nur für diese Adresse.

Die Varianten

Wie die Person zu ihrem Passwort kommt

Wann: Die Installation hat einen Passwort-Client eingestellt (codamai.cias.registration.password-setup.client-id), und die Keycloak-Erweiterung ist installiert.

Die Willkommensmail enthält den Link. Er führt direkt auf die Keycloak-Seite zum Passwort-Setzen und danach zurück zur Anmeldeseite der Anwendung. Wie lange er gilt, legt password-setup.valid-for fest, höchstens 72 Stunden; ohne Angabe gilt die Einstellung des Realms, ebenfalls höchstens 72 Stunden.

Ergebnis: Ein Klick, Passwort setzen, fertig.

Wann: Kein Passwort-Client eingestellt, oder die Erweiterung fehlt oder lehnt ab.

Die Registrierung wird trotzdem abgeschlossen. Die Willkommensmail enthält dann den Link zur Anmeldung und den Hinweis, über „Passwort vergessen“ ein Passwort zu setzen. Keycloak schickt daraufhin seine eigene Mail zum Zurücksetzen.

Ergebnis: Zwei Schritte mehr, aber kein Abbruch.

Wann: Die Person hat die Mail verloren oder der Link ist abgelaufen.

  1. 1
    Admin→CIAS
    POST /cias/admin/users/{id}/password-setup-link
  2. 2
    CIAS→Keycloak
    holt einen neuen Link, das Konto bleibt unverändert
  3. 3
    CIAS→E-Mail
    Mail PASSWORD_SETUP mit dem Link

Ergebnis: Nur für Plattform-Administratoren. Die Antwort nennt Empfänger und Ablaufzeit, nie den Link selbst. Voraussetzung: Die Installation hat die Zustellung eingerichtet, und das Konto ist aktiv. Siehe Passwort-Setz-Link erneut schicken.

Weiter

Quellen im Code und in der Wissensdatenbank
  • CIAS/cias-registration – RegistrationService (provision: requirePasswordSetup, passwordSetupContext), PasswordSetupPolicy, RegistrationLinks
  • CIAS/cias-iam-keycloak-provider – ActionLinkResourceProviderFactory, ActionLinkResource (cias-action-links)
  • CIAS/cias-iam-keycloak – KeycloakIdentityAdapter (requirePasswordSetup, createPasswordSetupLink)
  • CIAS/cias-spring-boot-starter – CiasProperties (registration.password-setup, keycloak.password-setup-actions)
  • CIAS/cias-user – UserAdminController (password-setup-link), UserService, PasswordSetupDelivery
  • CIAS/cias-notification – WELCOME, PASSWORD_SETUP
Suchen