Uebernahme bestehender Legacy-API-Integrationen (Keys, Auth, Pfade)

Bestehende Kunden-Integrationen der Altportale laufen nach dem Relaunch
weiter, ohne dass Kunden etwas umstellen muessen:

1. legacy:import-api-keys uebernimmt die api_keys aus den Legacy-DBs
   (sf_guard_user_profile) als Sanctum-Tokens mit identischem Secret
   (Sanctum loest Tokens ohne id|-Praefix per sha256-Hash auf) — nur
   fuer berechtigte Nutzer (aktiver Zahlungsstatus/Bestandsschutz,
   ApiAccessEligibilityService); idempotent, mit Dry-Run. Probe gegen
   die lokalen Snapshots: 406 Keys wuerden uebernommen.
2. Die Auth-Middleware uebersetzt die alten Uebergabeformen (X-ApiKey-
   Header, api_key-Parameter) fuer gueltige Keys in Bearer; unbekannte
   Keys erhalten weiterhin 410 mit Migrationshinweis.
3. Die dokumentierten /service/...-Pfade der Alt-API sind als Aliasse
   auf die v1-Controller gelegt (pressreleases inkl. Bilder, companies
   lesend); nicht uebernommene Alt-Endpoints (Pressemappen/Kontakte
   anlegen) antworten 410 mit Hinweis auf Kundenkonto und neue Doku.

API-Seite + OpenAPI entsprechend aktualisiert; Go-Live-Checkliste um den
Import-Schritt (nach dem Grandfathering) ergaenzt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-06 11:55:22 +00:00
parent 3cd7395319
commit 91992ac4b0
11 changed files with 425 additions and 13 deletions

View file

@ -104,7 +104,11 @@
(z.&nbsp;B. <code>press-releases:write</code>), die den Zugriff auf die jeweiligen Endpunkte steuern.
Tokens erstellen und widerrufen Sie selbst in Ihrem Publisher-Konto unter „API-Tokens" —
Voraussetzung ist eine aktive Buchung (Tarif oder Einzel-Pressemitteilung).
Der <code>X-ApiKey</code>-Header der Altportale wird nicht mehr unterstützt.
<strong>Bestandskunden der Altportale:</strong> Ihre bisherigen API-Schlüssel wurden
übernommen und funktionieren weiter — sowohl als Bearer-Token als auch in der alten
Form (<code>X-ApiKey</code>-Header) und auf den dokumentierten
<code>/service/…</code>-Pfaden. Für neue Integrationen empfehlen wir die aktuellen
<code>/api/v1/…</code>-Endpunkte mit Bearer-Token.
</p>
</div>