Fusion #69 : Alertes unifiees (backend/main.py)
This commit is contained in:
+12
-2
@@ -189,15 +189,25 @@ class SecurityHeadersMiddleware(BaseHTTPMiddleware):
|
|||||||
# #223 : l'origine du service d'agents n'est pas figée — elle
|
# #223 : l'origine du service d'agents n'est pas figée — elle
|
||||||
# est dérivée de la configuration (DRACO_AGENT_URL, sinon
|
# est dérivée de la configuration (DRACO_AGENT_URL, sinon
|
||||||
# l'origine d'AGENT_EVENEMENTS_URL, sinon le défaut officiel).
|
# l'origine d'AGENT_EVENEMENTS_URL, sinon le défaut officiel).
|
||||||
from backend.draco_config import agent_origine
|
from backend.draco_config import agent_origine, origine, urls_publiques
|
||||||
|
|
||||||
agent = agent_origine()
|
agent = agent_origine()
|
||||||
|
# Fusion #69 : le panneau Alertes unifiées lit les API
|
||||||
|
# notifications des applications soeurs depuis cet hôte ;
|
||||||
|
# leurs origines rejoignent connect-src (même résolution
|
||||||
|
# draco_config que les liens de la barre : explicite >
|
||||||
|
# dérivation depuis l'hôte de l'agent > défaut officiel).
|
||||||
|
_soeurs69 = " ".join(sorted({
|
||||||
|
origine(v)
|
||||||
|
for k, v in urls_publiques().items()
|
||||||
|
if k in ("obsigate", "flowdeck", "tiktak", "kanbante")
|
||||||
|
} - {""}))
|
||||||
response.headers["Content-Security-Policy"] = (
|
response.headers["Content-Security-Policy"] = (
|
||||||
"default-src 'self'; "
|
"default-src 'self'; "
|
||||||
f"script-src 'self' 'nonce-{nonce}' blob: https://cdnjs.cloudflare.com https://unpkg.com https://esm.sh https://cdn.jsdelivr.net https://static.cloudflareinsights.com; "
|
f"script-src 'self' 'nonce-{nonce}' blob: https://cdnjs.cloudflare.com https://unpkg.com https://esm.sh https://cdn.jsdelivr.net https://static.cloudflareinsights.com; "
|
||||||
"style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com https://fonts.googleapis.com https://cdn.jsdelivr.net https://esm.sh; "
|
"style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com https://fonts.googleapis.com https://cdn.jsdelivr.net https://esm.sh; "
|
||||||
"img-src 'self' data: blob:; "
|
"img-src 'self' data: blob:; "
|
||||||
f"connect-src 'self' blob: https://esm.sh https://unpkg.com https://cdnjs.cloudflare.com https://fonts.googleapis.com https://fonts.gstatic.com https://cdn.jsdelivr.net {agent}; "
|
f"connect-src 'self' blob: https://esm.sh https://unpkg.com https://cdnjs.cloudflare.com https://fonts.googleapis.com https://fonts.gstatic.com https://cdn.jsdelivr.net {agent} {_soeurs69}; "
|
||||||
"font-src 'self' data: https://fonts.gstatic.com https://esm.sh; "
|
"font-src 'self' data: https://fonts.gstatic.com https://esm.sh; "
|
||||||
"worker-src 'self' blob:; "
|
"worker-src 'self' blob:; "
|
||||||
f"frame-src 'self' blob: {agent}; "
|
f"frame-src 'self' blob: {agent}; "
|
||||||
|
|||||||
Reference in New Issue
Block a user