CodamAIDocs
Themafertig

Abgebrochene Registrierungen aufräumen

Wie wartende Registrierungen nach Ablauf auf EXPIRED gesetzt, unbenutzte Konten gelöscht und alte Vorgänge entfernt werden.

Ausprägungen
wartend abgelaufenersetzt durch neueren Versuchvon Hand verworfenalte Vorgänge löschen

Worum es geht

Nicht jede Registrierung wird zu Ende gebracht. Manche Mail landet im Spam, manche Person überlegt es sich anders. Zurück bleiben ein Vorgang, der ewig wartet, und ein deaktiviertes Konto in Keycloak. Das Aufräumen räumt beides weg.

Vier Wege nach EXPIRED

Wie ein Vorgang verfällt

Wann: Das Aufräumen ist eingeschaltet, und ein Vorgang wartet länger als eingestellt.

  1. 1
    CIAS
    findet Vorgänge in PENDING_VERIFICATION oder PENDING_APPROVAL, die älter sind als die Frist
  2. 2
    CIAS→Keycloak
    löscht das Konto, wenn es ein neues Konto war und noch deaktiviert und unbestätigt ist
  3. 3
    CIAS
    Vorgang → EXPIRED, Event Expired

Ergebnis: Die Adresse ist wieder frei.

Wann: Dieselbe Adresse registriert sich noch einmal.

Offene Vorgänge dieser Adresse, die auf den Klick oder die Freigabe warten, gehen sofort nach EXPIRED. Das Konto in Keycloak bleibt, denn der neue Versuch übernimmt es.

Ergebnis: Nur der neueste Link gilt. Siehe Die E-Mail ist das Konto.

Wann: Ein Plattform-Administrator ruft discard auf.

Wie beim Aufräumen, aber für einen einzelnen Vorgang, und auch für gescheiterte (FAILED). Bei einem gescheiterten Vorgang baut CIAS zurück, was er angelegt hat: Erst nimmt jeder Hook seinen Teil zurück (Startrollen, Gruppen, Benutzerdatensatz), dann schließt CIAS den eigenen Mandanten (die Datenbank bleibt) und löscht die eigene Organisation. Das Konto löscht CIAS nur, wenn der Vorgang es angelegt hat und es nirgends sonst Mitglied ist. Die Antwort sagt, ob die Adresse wieder frei ist.

Ergebnis: Siehe Freigabe durch einen Administrator.

Wann: Die Installation stellt purge-after ein.

Vorgänge in einem Endzustand (COMPLETED, REJECTED, EXPIRED), die älter sind als die Frist, löscht CIAS ganz aus der Datenbank. Danach führt ein alter Link zu 404.

Die Einstellungen

Das Aufräumen ist ein Lauf in festem Abstand. Er ist standardmäßig aus, jede Frist ist einzeln abschaltbar.

Einstellung unter codamai.cias.registration.cleanupStandardBedeutung
enabledfalsedas Aufräumen überhaupt ausführen
interval1 StundeAbstand zwischen zwei Läufen
unverified-afterausFrist für Vorgänge, die auf den Klick warten
pending-approval-afterausFrist für Vorgänge, die auf die Freigabe warten
purge-afterausFrist, nach der Vorgänge im Endzustand gelöscht werden

Die Fristen sind Zeitdauern im ISO-Format, etwa P7D für sieben Tage. Der Hub schaltet das Aufräumen ein und setzt unverified-after: P7D.

application.yml
codamai:
  cias:
    registration:
      cleanup:
        enabled: true
        interval: PT1H
        unverified-after: P7D
        pending-approval-after: P30D
        purge-after: P180D

Was der Lauf meldet

Nach jedem Lauf, der etwas getan hat, schreibt CIAS eine Zeile ins Log: wie viele Vorgänge verfallen sind, wie viele Konten gelöscht wurden, wie viele alte Vorgänge entfernt wurden und bei wie vielen es Fehler gab. Ein Fehler bei einem Vorgang hält den Lauf nicht an; der Vorgang kommt beim nächsten Lauf wieder dran.

Weiter

Quellen im Code und in der Wissensdatenbank
  • CIAS/cias-registration – RegistrationMaintenanceService (sweep, close, removeOrphanedIdentity, purge, discard), RegistrationRetention, RegistrationSweepReport
  • CIAS/cias-registration – CiasRegistrationConfiguration (Zeitplan cleanup.interval)
  • CIAS/cias-registration – RegistrationService (supersedeOpenAttempts)
  • hub-backend – application.yaml (cleanup)
Suchen