diff --git a/api/src/app.ts b/api/src/app.ts index fffd14f2..d7dd2b4d 100644 --- a/api/src/app.ts +++ b/api/src/app.ts @@ -4,7 +4,7 @@ import path from "path" import helmet from "helmet" import formData from "express-form-data" -import { AUTH0_DOMAIN, FRONTEND_URL } from "@/config" +import { AUTH0_DOMAIN, FRONTEND_URL, MATOMO_TRACKER_HOST } from "@/config" import { betterFormDataBodyParserMiddleware, requestLoggerMiddleware } from "@/middlewares" import router from "@/router" import enhancedQsDecoder from "@/utils/enhanced-qs-decoder" @@ -26,11 +26,11 @@ app.use( "frame-ancestors": ["'self'"], "img-src": ["'self'", "data:", "https:"], "object-src": ["'none'"], - "script-src": ["'self'", "'unsafe-eval'"], + "script-src": ["'self'", "'unsafe-eval'", MATOMO_TRACKER_HOST], "script-src-attr": ["'none'"], "style-src": ["'self'", "https:", "'unsafe-inline'"], "worker-src": ["'self'", "blob:"], - "connect-src": ["'self'", FRONTEND_URL, AUTH0_DOMAIN], + "connect-src": ["'self'", FRONTEND_URL, AUTH0_DOMAIN, MATOMO_TRACKER_HOST], }, }) ) diff --git a/api/src/config.ts b/api/src/config.ts index 4b14e9bf..6e900dd3 100644 --- a/api/src/config.ts +++ b/api/src/config.ts @@ -41,6 +41,8 @@ export const FRONTEND_URL = process.env.FRONTEND_URL || "" export const APPLICATION_NAME = process.env.VITE_APPLICATION_NAME || "" export const RUN_SCHEDULER = process.env.RUN_SCHEDULER || "false" +export const MATOMO_TRACKER_HOST = stripTrailingSlash(process.env.VITE_MATOMO_HOST || "") + // ==================== // Authentication & Authorization // ====================