CodamAIDocs
Themafertig

Passwort-Setz-Link erneut schicken

Wie ein Administrator einer Person einen neuen Link zum Setzen des Passworts schickt.

Ausprägungen
Link schickenKonto nicht aktivZustellung nicht eingerichtetKeycloak-Erweiterung fehlt

Worum es geht

Nach der Registrierung bekommt eine Person in der Willkommensmail einen Link, um ihr Passwort bei Keycloak zu setzen. Manchmal geht diese Mail verloren, oder der Link ist abgelaufen. Dann kann ein Plattform-Administrator einen neuen Link schicken.

Der Ablauf

POST /cias/admin/users/{id}/password-setup-link
  1. 1
    Admin→CIAS
    fordert den Link an, ohne Inhalt
  2. 2
    CIAS
    Plattform-Administrator? Person bekannt?
    sonst 403 bzw. 404
  3. 3
    CIAS
    Zustellung eingerichtet? Konto aktiv?
    sonst 501 bzw. 409
  4. 4
    CIAS→Keycloak
    holt über die Keycloak-Erweiterung einen Einmal-Link
    Der Link trägt die Aktion „Passwort setzen“ selbst. Keycloak verlangt sie erst, wenn die Person den Link öffnet.
  5. 5
    CIAS→E-Mail
    Mail PASSWORD_SETUP mit dem Link an die Adresse der Person
    in der Sprache, die Keycloak für die Person führt (Attribut locale), sonst Deutsch
  6. 6
    CIAS
    Event PasswordSetupLinkSent
    Ergebnis: 200 { "recipient": "anna@nordbau.example", "expiresAt": "…" }

Die Varianten

Wann der Link ankommt

Wann: Die Installation hat die Zustellung eingerichtet, und das Konto ist aktiv.

Die Person bekommt die Mail, klickt den Link, setzt bei Keycloak ein Passwort und landet danach auf der eingestellten Rücksprungadresse. Die Mail darf je Mandant eine eigene Vorlage haben.

Ergebnis: Neues Passwort gesetzt. Bis dahin gilt das alte weiter.

Wann: Das Konto ist noch nicht freigeschaltet (PENDING), gesperrt (SUSPENDED) oder geschlossen (CLOSED).

CIAS lehnt ab, bevor Keycloak etwas tut. Ein noch nicht freigeschaltetes Konto kann sich bei Keycloak nicht anmelden, ein gesperrtes oder geschlossenes soll draußen bleiben.

Ergebnis: 409 cias.user.invalid-state, keine Mail.

Wann: Die Installation hat keinen Client für diesen Link eingestellt.

CIAS lehnt ab, das Konto bleibt unverändert. Die Person kann über „Passwort vergessen“ auf der Login-Seite selbst ein neues Passwort anfordern.

Ergebnis: 501 cias.user.password-setup-unavailable, keine Mail.

Wann: In Keycloak ist das Zusatzmodul cias-iam-keycloak-provider nicht installiert.

Keycloak kennt den Endpunkt für den Link nicht. CIAS lehnt ab, das Konto bleibt unverändert.

Ergebnis: 501 cias.user.password-setup-unavailable, keine Mail. Siehe Die Keycloak-Erweiterung für den Passwort-Link.

Einstellungen

EinstellungBedeutung
codamai.cias.user.password-setup.client-idder Browser-Client der Oberfläche, für den Keycloak den Link ausstellt. Leer heißt: Funktion aus, Antwort 501
codamai.cias.user.password-setup.return-urlwohin die Person nach dem Passwort-Setzen kommt. Muss eine erlaubte Rücksprungadresse dieses Clients sein. Ist ein Client gesetzt und fehlt die Adresse, startet die Anwendung nicht
codamai.cias.user.password-setup.valid-forwie lange der Link gilt, Vorgabe 24 Stunden, höchstens 72 Stunden

Die Einstellungen sind getrennt von denen der Registrierung. Eine Registrierung weiß, für welche Anwendung sie lief, ein Administrator-Link nicht. Deshalb braucht er eine eigene Rücksprungadresse.

Weiter

Quellen im Code und in der Wissensdatenbank
  • CIAS/cias-user – UserAdminController (password-setup-link), UserService (sendPasswordSetupLink), PasswordSetupDelivery, PasswordSetupDispatch, PasswordSetupUnavailableException, UserExceptionHandler, UserEvent.PasswordSetupLinkSent
  • CIAS/cias-spring-boot-starter – CiasAutoConfiguration (passwordSetupDelivery), CiasProperties (user.password-setup)
  • CIAS/cias-iam-keycloak – KeycloakIdentityAdapter (createPasswordSetupLink)
  • CIAS/cias-iam-keycloak-provider – ActionLinkResource
  • CIAS/cias-notification – PASSWORD_SETUP
Suchen