CORS: Unauthenticated API erlauben
-
Hi,
es wäre super, wenn öffentliche Daten von fremden Seiten aus über die API zugänglich wären (konkretes Beispiel: Kalendereinträge anzeigen).
Technisch kann man natürlich einen eigenen Proxy-Server betreiben, der die API zugänglich macht (Cookies für die eigentliche ChurchTools-Instanz würden ja nicht an den Proxy-Server gesendet werden), aber das bedeutet Betrieb zusätzlicher Infrastruktur.
Wenn man Seiten in
/settings/integrations/api/cors
einträgt, können diese auch authenticated API-Requests senden (da der ServerAccess-Control-Allow-Credentials: true
zurückgibt); für die Abfrage von öffentlichen Daten ist das aber eigentlich nicht nötig.Es wäre also hilfreich, wenn die API für Requests ohne Credentials CORS öffnen würde, also den Wert des
Origin:
-Request-Headers fürAccess-Control-Allow-Origin
verwendet (ohneAccess-Control-Allow-Credentials: true
oder explizit auffalse
). Zusätzlich sollten vermutlichCookie
undOrigin
in denVary:
-Header aufgenommen werden.Man könnte natürlich auch eine zweite Liste bauen, wo man Seiten für "unauthenticated API" freischalten kann (oder ein Flag an die Freischaltung packen).
Viele Grüße,
Stefan