diff --git a/backend/recherche_cors.py b/backend/recherche_cors.py index 14a3366..906c702 100644 --- a/backend/recherche_cors.py +++ b/backend/recherche_cors.py @@ -9,7 +9,10 @@ Ce module n'autorise donc que : - le chemin ``/api/search`` (jamais les autres routes, jamais les écritures) ; - les origines sœurs : les origines officielles **prod ET dev, - listées explicitement** (``PROD_ORIGINS | DEV_ORIGINS``), **plus** + listées explicitement** (``PROD_ORIGINS | DEV_ORIGINS``), **plus + les origines de la console Spark** (``AGENT_ORIGINS`` : agent prod + ET dev — fédération de la recherche depuis la console, + 2026-10-28), **plus** celles de ``backend.draco_config`` (``urls_publiques()`` : explicite > dérivation par l'hôte de l'agent > défaut officiel) — jamais ``*``. Correctif 2026-10-28 (fusion #68/#69, matrice @@ -49,6 +52,12 @@ DEV_ORIGINS = frozenset({ "https://kanbante-dev.dracodev.net", }) +AGENT_ORIGINS = frozenset({ + "https://agent.dracodev.net", + "https://agent-dev.dracodev.net", +}) + + # Clés de draco_config.urls_publiques() qui sont des applications sœurs. _SOEUR_KEYS = ("obsigate", "flowdeck", "tiktak", "kanbante") @@ -113,7 +122,7 @@ def sister_origins(resolved: dict | None = None, request_host: str | None = None # l'environnement de la requête, désormais inclus d'office). # ``resolved`` n'ajoute que des origines de configuration sans # jamais retirer une origine officielle. - origins |= PROD_ORIGINS | DEV_ORIGINS + origins |= PROD_ORIGINS | DEV_ORIGINS | AGENT_ORIGINS return frozenset(origins)