Merged in fix/seamless-auth (pull request #1255)

fix: reduce the need for multiple SEAMLESS_LOGIN/SEAMLESS_LOGOUT

* fix: reduce the need for multiple SEAMLESS_LOGIN/SEAMLESS_LOGOUT

* fix: reduce the need for multiple SEAMLESS_LOGIN/SEAMLESS_LOGOUT

* fix: defaulted values that are the same in each environment


Approved-by: Christian Andolf
Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2025-02-05 10:01:38 +00:00
committed by Linus Flood
parent 68f4a5b86d
commit 691c493522
2 changed files with 68 additions and 38 deletions

14
.env
View File

@@ -2,15 +2,5 @@ NEXTAUTH_DEBUG="false"
DEBUG_QUERIES="false"
SEAMLESS_ENVIRONMENT_SUBDOMAIN="www"
SEAMLESS_LOGIN_DA="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.dk/updatelogin"
SEAMLESS_LOGIN_DE="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.de/updatelogin"
SEAMLESS_LOGIN_EN="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.com/updatelogin"
SEAMLESS_LOGIN_FI="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.fi/updatelogin"
SEAMLESS_LOGIN_NO="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.no/updatelogin"
SEAMLESS_LOGIN_SV="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.sv/updatelogin"
SEAMLESS_LOGOUT_DA="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.dk/updatelogout?newweb=1"
SEAMLESS_LOGOUT_DE="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.de/updatelogout?newweb=1"
SEAMLESS_LOGOUT_EN="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.com/updatelogout?newweb=1"
SEAMLESS_LOGOUT_FI="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.fi/updatelogout?newweb=1"
SEAMLESS_LOGOUT_NO="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.no/updatelogout?newweb=1"
SEAMLESS_LOGOUT_SV="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.sv/updatelogout?newweb=1"
SEAMLESS_LOGIN="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.{topleveldomain}/updatelogin"
SEAMLESS_LOGOUT="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.{topleveldomain}/updatelogout?newweb=1"

92
env/server.ts vendored
View File

@@ -30,8 +30,8 @@ export const env = createEnv({
CMS_PREVIEW_URL: z.string(),
CMS_URL: z.string(),
CMS_BRANCH: z.enum(["development", "production"]),
CURITY_CLIENT_ID_USER: z.string(),
CURITY_CLIENT_ID_SERVICE: z.string(),
CURITY_CLIENT_ID_USER: z.string().default("scandichotels-web"),
CURITY_CLIENT_ID_SERVICE: z.string().default("scandichotels-web-backend"),
CURITY_CLIENT_SECRET_SERVICE: z.string(),
CURITY_CLIENT_SECRET_USER: z.string(),
CURITY_ISSUER_USER: z.string(),
@@ -58,18 +58,42 @@ export const env = createEnv({
PUBLIC_URL: z.string().default(""),
REVALIDATE_SECRET: z.string(),
SALESFORCE_PREFERENCE_BASE_URL: z.string(),
SEAMLESS_LOGIN_DA: z.string(),
SEAMLESS_LOGIN_DE: z.string(),
SEAMLESS_LOGIN_EN: z.string(),
SEAMLESS_LOGIN_FI: z.string(),
SEAMLESS_LOGIN_NO: z.string(),
SEAMLESS_LOGIN_SV: z.string(),
SEAMLESS_LOGOUT_DA: z.string(),
SEAMLESS_LOGOUT_DE: z.string(),
SEAMLESS_LOGOUT_EN: z.string(),
SEAMLESS_LOGOUT_FI: z.string(),
SEAMLESS_LOGOUT_NO: z.string(),
SEAMLESS_LOGOUT_SV: z.string(),
SEAMLESS_LOGIN_DA: z
.string()
.transform((s) => replaceTopLevelDomain(s, "dk")),
SEAMLESS_LOGIN_DE: z
.string()
.transform((s) => replaceTopLevelDomain(s, "de")),
SEAMLESS_LOGIN_EN: z
.string()
.transform((s) => replaceTopLevelDomain(s, "com")),
SEAMLESS_LOGIN_FI: z
.string()
.transform((s) => replaceTopLevelDomain(s, "fi")),
SEAMLESS_LOGIN_NO: z
.string()
.transform((s) => replaceTopLevelDomain(s, "no")),
SEAMLESS_LOGIN_SV: z
.string()
.transform((s) => replaceTopLevelDomain(s, "se")),
SEAMLESS_LOGOUT_DA: z
.string()
.transform((s) => replaceTopLevelDomain(s, "dk")),
SEAMLESS_LOGOUT_DE: z
.string()
.transform((s) => replaceTopLevelDomain(s, "de")),
SEAMLESS_LOGOUT_EN: z
.string()
.transform((s) => replaceTopLevelDomain(s, "com")),
SEAMLESS_LOGOUT_FI: z
.string()
.transform((s) => replaceTopLevelDomain(s, "fi")),
SEAMLESS_LOGOUT_NO: z
.string()
.transform((s) => replaceTopLevelDomain(s, "no")),
SEAMLESS_LOGOUT_SV: z
.string()
.transform((s) => replaceTopLevelDomain(s, "se")),
SHOW_SIGNUP_FLOW: z
.string()
// only allow "true" or "false"
@@ -181,18 +205,30 @@ export const env = createEnv({
PUBLIC_URL: process.env.PUBLIC_URL,
REVALIDATE_SECRET: process.env.REVALIDATE_SECRET,
SALESFORCE_PREFERENCE_BASE_URL: process.env.SALESFORCE_PREFERENCE_BASE_URL,
SEAMLESS_LOGIN_DA: process.env.SEAMLESS_LOGIN_DA,
SEAMLESS_LOGIN_DE: process.env.SEAMLESS_LOGIN_DE,
SEAMLESS_LOGIN_EN: process.env.SEAMLESS_LOGIN_EN,
SEAMLESS_LOGIN_FI: process.env.SEAMLESS_LOGIN_FI,
SEAMLESS_LOGIN_NO: process.env.SEAMLESS_LOGIN_NO,
SEAMLESS_LOGIN_SV: process.env.SEAMLESS_LOGIN_SV,
SEAMLESS_LOGOUT_DA: process.env.SEAMLESS_LOGOUT_DA,
SEAMLESS_LOGOUT_DE: process.env.SEAMLESS_LOGOUT_DE,
SEAMLESS_LOGOUT_EN: process.env.SEAMLESS_LOGOUT_EN,
SEAMLESS_LOGOUT_FI: process.env.SEAMLESS_LOGOUT_FI,
SEAMLESS_LOGOUT_NO: process.env.SEAMLESS_LOGOUT_NO,
SEAMLESS_LOGOUT_SV: process.env.SEAMLESS_LOGOUT_SV,
SEAMLESS_LOGIN_DA:
process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_DA,
SEAMLESS_LOGIN_DE:
process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_DE,
SEAMLESS_LOGIN_EN:
process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_EN,
SEAMLESS_LOGIN_FI:
process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_FI,
SEAMLESS_LOGIN_NO:
process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_NO,
SEAMLESS_LOGIN_SV:
process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_SV,
SEAMLESS_LOGOUT_DA:
process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_DA,
SEAMLESS_LOGOUT_DE:
process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_DE,
SEAMLESS_LOGOUT_EN:
process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_EN,
SEAMLESS_LOGOUT_FI:
process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_FI,
SEAMLESS_LOGOUT_NO:
process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_NO,
SEAMLESS_LOGOUT_SV:
process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_SV,
SHOW_SIGNUP_FLOW: process.env.SHOW_SIGNUP_FLOW,
WEBVIEW_ENCRYPTION_KEY: process.env.WEBVIEW_ENCRYPTION_KEY,
BOOKING_ENCRYPTION_KEY: process.env.BOOKING_ENCRYPTION_KEY,
@@ -215,3 +251,7 @@ export const env = createEnv({
CACHE_TIME_HOTELS: process.env.CACHE_TIME_HOTELS,
},
})
function replaceTopLevelDomain(url: string, domain: string) {
return url.replaceAll("{topleveldomain}", domain)
}