[SSP] Umsetellung der SPA auf neues OAuth-Konzept
Warum?
Relevante Links und Bemerkungen
- Wiki: https://wiki.fit-connect.fitko.dev/de/dev/SelfServicePortal
- Benötigte Features Self-Service-Portal: Label: component::SSP
- Link zum technischen Dokument von Elster: TODO Link einfügen
Sicherheitsempfehlungen und Vorgaben:
- Best Practices, um OAuth sicher zu implementieren: https://oauth.net/2/oauth-best-practice/
- Empfehlungen für SPA OAuth Umsetzung: https://oauth.net/2/browser-based-apps/
- FAPI Baseline Profile: https://openid.net/specs/openid-financial-api-part-1-1_0-final.html (Als Anregung)
- Umsetzung bei Curity https://curity.io/resources/learn/the-token-handler-pattern/
- Token Handler Implementierung: https://github.com/curityio/spa-using-token-handler
- Alternative Implementierung in Kotlin und Spring: https://github.com/curityio/token-handler-kotlin-spring-fapi
Akzeptanzkriterien
-
Sicherheitsempfehlungen aus https://wiki.fit-connect.fitko.dev/de/PM_PUBLIC/Epics/SSP-SPA wurden eingehalten. -
Ein eingeloggter User kann seine eigenen Destinations anlegen und verwalten. Dafür nutzt das SSP Access Tokens mit der nutzerspezifischen Berechtigung aus #330 (closed). -
Damit das Self-Service Portal für den Nutzer berechtigt ist, nutzt das SSP den Code Flow mit PKCE und bittet den Nutzer um Autorisierung, wenn der User erstmalig auf die Destination Verwaltung geht oder fragt alle notwendigen Berechtigung direkt beim Login ab. -
Bei der Anlage und Verwaltung von Zustellpunkten werden bei auftretenden Fehlern aussagekräftige Felermeldungen mit (verlinktem) Lösungsansatz angezeigt. Dies beinhaltelt mindestens die folgenden Punkte (Hinweis: Eine Prüfung der muss nicht zwingend direkt im SSP erfolgen, sondern könnte, wenn sinnvoll, ggf. auch anhand der Rückmeldung der Submission API erfolgen):verschoben nach #435 (closed) -
Multiple Services (und Schemata) können gemäß der API für eine Destination angelegt werden-> #177 (closed)
Durchführungsplan
-
... -
... -
... -
@Hauke_Traulsen hat die Texte der Webseite bzw. der Registrierungsformulare freigegeben. -
Definition of Done wurde geprüft
Edited by Marco Holz