diff --git a/web/app/layout.tsx b/web/app/layout.tsx index c83ea7fd85..011defe466 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -41,6 +41,7 @@ const LocaleLayout = async ({ [DatasetAttr.DATA_MARKETPLACE_API_PREFIX]: process.env.NEXT_PUBLIC_MARKETPLACE_API_PREFIX, [DatasetAttr.DATA_MARKETPLACE_URL_PREFIX]: process.env.NEXT_PUBLIC_MARKETPLACE_URL_PREFIX, [DatasetAttr.DATA_PUBLIC_EDITION]: process.env.NEXT_PUBLIC_EDITION, + [DatasetAttr.DATA_PUBLIC_COOKIE_DOMAIN]: process.env.NEXT_PUBLIC_COOKIE_DOMAIN, [DatasetAttr.DATA_PUBLIC_SUPPORT_MAIL_LOGIN]: process.env.NEXT_PUBLIC_SUPPORT_MAIL_LOGIN, [DatasetAttr.DATA_PUBLIC_SENTRY_DSN]: process.env.NEXT_PUBLIC_SENTRY_DSN, [DatasetAttr.DATA_PUBLIC_MAINTENANCE_NOTICE]: process.env.NEXT_PUBLIC_MAINTENANCE_NOTICE, diff --git a/web/config/index.ts b/web/config/index.ts index 7b2b9e1084..2f75206cc0 100644 --- a/web/config/index.ts +++ b/web/config/index.ts @@ -144,7 +144,11 @@ export const getMaxToken = (modelId: string) => { export const LOCALE_COOKIE_NAME = 'locale' -const COOKIE_DOMAIN = (process.env.NEXT_PUBLIC_COOKIE_DOMAIN || '').trim() +const COOKIE_DOMAIN = getStringConfig( + process.env.NEXT_PUBLIC_COOKIE_DOMAIN, + DatasetAttr.DATA_PUBLIC_COOKIE_DOMAIN, + '', +).trim() export const CSRF_COOKIE_NAME = () => { if (COOKIE_DOMAIN) return 'csrf_token' const isSecure = API_PREFIX.startsWith('https://') diff --git a/web/docker/entrypoint.sh b/web/docker/entrypoint.sh index b32e648922..3325690239 100755 --- a/web/docker/entrypoint.sh +++ b/web/docker/entrypoint.sh @@ -19,6 +19,7 @@ export NEXT_PUBLIC_API_PREFIX=${CONSOLE_API_URL}/console/api export NEXT_PUBLIC_PUBLIC_API_PREFIX=${APP_API_URL}/api export NEXT_PUBLIC_MARKETPLACE_API_PREFIX=${MARKETPLACE_API_URL}/api/v1 export NEXT_PUBLIC_MARKETPLACE_URL_PREFIX=${MARKETPLACE_URL} +export NEXT_PUBLIC_COOKIE_DOMAIN=${NEXT_PUBLIC_COOKIE_DOMAIN} export NEXT_PUBLIC_SENTRY_DSN=${SENTRY_DSN} export NEXT_PUBLIC_SITE_ABOUT=${SITE_ABOUT} diff --git a/web/types/feature.ts b/web/types/feature.ts index 05421f53c3..308c2e9bac 100644 --- a/web/types/feature.ts +++ b/web/types/feature.ts @@ -106,6 +106,7 @@ export enum DatasetAttr { DATA_MARKETPLACE_API_PREFIX = 'data-marketplace-api-prefix', DATA_MARKETPLACE_URL_PREFIX = 'data-marketplace-url-prefix', DATA_PUBLIC_EDITION = 'data-public-edition', + DATA_PUBLIC_COOKIE_DOMAIN = 'data-public-cookie-domain', DATA_PUBLIC_SUPPORT_MAIL_LOGIN = 'data-public-support-mail-login', DATA_PUBLIC_SENTRY_DSN = 'data-public-sentry-dsn', DATA_PUBLIC_MAINTENANCE_NOTICE = 'data-public-maintenance-notice',