Worum es geht
Manchmal legt der Support einen Zugang von Hand an, etwa für einen Kunden, der sich nicht selbst registrieren soll. Dafür gibt es die Variante PLATFORM_ADMIN: eine Registrierung, die ein angemeldeter Administrator für eine andere Person startet.
Die Person bekommt trotzdem eine Mail mit Link und bestätigt ihre Adresse selbst. Der Administrator legt also kein fertiges Konto an, sondern startet die Registrierung.
Die Variante einschalten
PLATFORM_ADMIN steht erst zur Verfügung, wenn die Installation den Ablauf konfiguriert. Ein Beispiel:
codamai:
cias:
registration:
flows:
PLATFORM_ADMIN:
enabled: true
tenant-assignment: FROM_PAYLOAD
required-caller-roles: [platform-admin]
token-ttl: P7D
fields:
- { key: email, type: EMAIL, required: true }
- { key: firstName }
- { key: lastName }required-caller-roles legt fest, welche Rollen der Aufrufer haben muss. Ohne diesen Eintrag reicht es, angemeldet zu sein. Für diese Variante gehört deshalb immer platform-admin hinein.
Der Ablauf
-
1Admin→CIASschickt E-Mail, Felder und optional
tenantKey -
2CIASIst der Ablauf eingeschaltet?nein: abgelehnt,
cias.registration.misconfigured -
3CIASHat der Aufrufer alle Rollen aus
required-caller-roles?nein: 403cias.registration.not-authorized -
4CIASbestimmt den Mandanten nach der Einstellung
tenant-assignment -
5CIASprüft die Felderfehlt ein Pflichtfeld: 422
-
6CIAS→Keycloaklegt das Konto deaktiviert an, wenn die Adresse neu ist
-
7CIAS→E-MailMail mit Link an die Person
-
8Benutzer→CIASklickt den Link, danach Bereitstellung wie immer
Diese Variante ist nicht gedrosselt. Drosselung gibt es nur für das öffentliche Formular.
Mit oder ohne Mandant
Was mit dem tenantKey im Payload passiert, entscheidet allein die Einstellung tenant-assignment des Ablaufs:
| tenant-assignment | tenantKey gesendet? | Ergebnis |
|---|---|---|
FROM_PAYLOAD | ja | Die Person wird Mitglied in diesem Mandanten |
FROM_PAYLOAD | nein | 400 cias.registration.invalid-request: der Mandant fehlt |
NONE | – | Die Person bekommt keinen Mandanten. Ein gesendeter Schlüssel wird ignoriert |
JOIN_EXISTING | ja | Die Person tritt diesem bestehenden Mandanten bei |
Ob es den genannten Mandanten gibt, prüft CIAS bei der Bereitstellung. Fehlt er dort, endet der Vorgang in FAILED. Siehe Was beim Abschluss passiert.