Destinations via Self-Service API im SSP erstellen (Anpassungen SSP)
sequenceDiagram
API-Client ->> OAuth: (B) Access Token (enthält scope: "...destination-management-api/create:destination", aud: "portal...") abrufen
API-Client ->> SSP/Mgt-Backend: Destination anlegen { name: "", submissionHost: "", destinationData... } (POST)
SSP/Mgt-Backend ->> Zustelldienst: Request mit neuem OAuth-Token (Scope: "create:destination", aud: "submission-api-...") <br> ohne die Attribute "name" und "submissionHost" an Zustelldienst weiterleiten
Zustelldienst ->> Zustelldienst: UUID generieren
Zustelldienst ->> Zustelldienst: Zustellpunkt als Datenbankeintrag anlegen
Zustelldienst ->> SSP/Mgt-Backend: Destination-ID
SSP/Mgt-Backend ->> SSP/Mgt-Backend: Destination-Referenz inkl. "name" und "submissionHost" anlegen
SSP/Mgt-Backend ->> SSP/Mgt-Backend: Destination-Referenz einem User auf Basis der Client-Zugehörigkeit zuordnen
%% SSP ->> SSP: Zustellpunkt einem Team auf Basis der Client-Zugehörigkeit zuordnen (Berechtigung setzen)
SSP/Mgt-Backend->> OAuth: Scope ("manage:destination:...") + `aud` des Zustelldienstes anlegen
SSP/Mgt-Backend ->> API-Client: Destination-ID
Destination-IDs erstellen
-
Es existiert ein neuer SSP-Endpunkt POST <ssp>/v1/destinations
zum Anlegen einer neuen Destination- Request: { "name": "Test-Zustellpunkt für Fachverfahren XY", submissionHost: "submission-api-testing.fit-connect.fitko.dev", destinationData... } (
submissionHost
muss dem Hostname des Zustelldienstes entsprechen,destinationData
entspricht den Attributen des bisherigen Submission-API-EndpunktesPOST /v1/destinations
) - Response: { "destinationId": "620e9e5f-36d6-480a-acbe-25e92072c413" }
- OAuth-Absicherung:
https://schema.fitko.de/fit-connect/oauth/scopes/destination-management-api/create:destination
- Request: { "name": "Test-Zustellpunkt für Fachverfahren XY", submissionHost: "submission-api-testing.fit-connect.fitko.dev", destinationData... } (
-
Der Request wird mit neuem OAuth-Token (Scope: "create:destination", aud: "submission-api-...") ohne die Attribute "name" und "submissionHost" an den Zustelldienst weiterleitet, um dort den Zustellpunkt anzulegen. -
API-Clients haben nach wie vor keinen Zugriff auf den POST /v1/destinations
-Endpunkt des Zustelldienstes. -
Das SSP speichert "name", "submissionHost" und Zuordnung zum User als "Destination-Referenz" in der bisher schon existierenden Datenbank-Tabelle. Auf Basis der Client-ID im Access Token (Sub Claim) ordnet das SSP die neue Destination dem User zu, der den Client mit dieser Client-ID besitzt. -
Das SSP legt für diese Destination im OAuth-Server für den aktuellen API-Client den Scope "manage:destination:..." mit aud
des Zustelldienstes an. Die Zuordnung ist auch in der UI (in der Client-Verwaltung) sichtbar.
Edited by Marco Holz