CORS recherche: autoriser les origines agent (console Spark) prod+dev

This commit is contained in:
2026-10-28 16:12:10 -04:00
parent a885153a68
commit b609e8913c
+11 -2
View File
@@ -9,7 +9,10 @@ Ce module n'autorise donc que :
- le chemin ``/api/search`` (jamais les autres routes, jamais les - le chemin ``/api/search`` (jamais les autres routes, jamais les
écritures) ; écritures) ;
- les origines sœurs : les origines officielles **prod ET dev, - 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()`` : celles de ``backend.draco_config`` (``urls_publiques()`` :
explicite > dérivation par l'hôte de l'agent > défaut officiel) explicite > dérivation par l'hôte de l'agent > défaut officiel)
— jamais ``*``. Correctif 2026-10-28 (fusion #68/#69, matrice — jamais ``*``. Correctif 2026-10-28 (fusion #68/#69, matrice
@@ -49,6 +52,12 @@ DEV_ORIGINS = frozenset({
"https://kanbante-dev.dracodev.net", "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. # Clés de draco_config.urls_publiques() qui sont des applications sœurs.
_SOEUR_KEYS = ("obsigate", "flowdeck", "tiktak", "kanbante") _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). # l'environnement de la requête, désormais inclus d'office).
# ``resolved`` n'ajoute que des origines de configuration sans # ``resolved`` n'ajoute que des origines de configuration sans
# jamais retirer une origine officielle. # jamais retirer une origine officielle.
origins |= PROD_ORIGINS | DEV_ORIGINS origins |= PROD_ORIGINS | DEV_ORIGINS | AGENT_ORIGINS
return frozenset(origins) return frozenset(origins)