Skip to content

Öffentliche Erreichbarkeit des Endpunktes `GET /destinations/{destinationId}`

Warum?

Die öffentlichen Informationen im Endpunkt GET /destinations/{destinationId} der Submission API (Zustelldienst) sind über die Routing-API (Routingdienst) bereits öffentlich einsehbar. Der Endpunkt soll nun auch im Zustelldienst öffentlich erreichbar sein, um die Fehleranalyse zu vereinfachen.

Relevante Links und Bemerkungen

Akzeptanzkriterien

  1. Der Abruf der öffentlichen Zustellpunkt-Informationen (destination-public) im Endpunkt GET /destinations/{destinationId} ist ohne Authentifizierung möglich.
  2. Der Abruf der nicht-öffentlichen Zustellpunkt-Informationen (destination-private inkl. contactInformation und callback) ist weiterhin nur authentifiziert (OAuth scope manage:destination:<destination-id:uuid>) durch Subscriber möglich.
  3. Wenn ein Client mit einem Access Token ohne subscribe:destination:<destination-id:uuid> oder manage:destination:<destination-id:uuid>-Scope eine GET-Abfrage durchführt, wird die Anfrage wie eine Anfrage ohne Authentifizierung behandelt.
  4. TEAM INFRASTRUKTUR / PASCAL: Übernommen aus #742 (comment 60327): Für Anfragen, die einen Authorization-Header enthalten, muss (durch den Reverse-Proxy Traefik) zwingend geprüft werden, ob der enthaltene JWT gültig (d.h. vom OAuth-Server signiert) ist. Hintergrund: Beim Zugriff auf die nicht-öffentlichen Zustellpunkt-Informationen, muss sichergestellt sein, dass nur korrekt signierte JWTs akzeptiert werden. => Es gibt einen Test, der einen Selbst-Signierten OAuth-Token an den Endpunkt schickt und einen Fehler erwartet.

Durchführungsplan (von Entwickler:in bei Umsetzungsplanung auszufüllen)

  • Reverse Proxy anpassen, Endpunkt öffentlich machen:
    • Wenn Token enthalten: Prüfen über Tokenvalidator
    • Wenn kein Token enthalten: Direktes Durchreichen an Zustelldienst
  • Definition of Done wurde geprüft
Edited by Minh Nguyen