diff --git a/packages/auth/parse-cookie-domain.ts b/packages/auth/parse-cookie-domain.ts index fee151ea..6376cec7 100644 --- a/packages/auth/parse-cookie-domain.ts +++ b/packages/auth/parse-cookie-domain.ts @@ -1,66 +1,15 @@ // List of known multi-part TLDs that should be treated as single domains const MULTI_PART_TLDS = [ - 'co.uk', - 'com.au', - 'co.za', - 'co.nz', - 'co.jp', - 'co.kr', - 'co.in', - 'co.il', - 'com.br', - 'com.mx', - 'com.ar', - 'com.pe', - 'com.cl', - 'com.co', - 'com.ve', - 'net.au', - 'org.au', - 'gov.au', - 'edu.au', - 'net.nz', - 'org.nz', - 'gov.nz', - 'org.uk', - 'gov.uk', - 'ac.uk', - 'nhs.uk', - 'org.za', - 'gov.za', - 'ac.za', - 'ac.jp', - 'or.jp', - 'go.jp', - 'or.kr', - 'go.kr', - 'org.in', - 'gov.in', - 'ac.in', - 'org.il', - 'gov.il', - 'ac.il', - 'net.br', - 'org.br', - 'gov.br', - 'net.mx', - 'org.mx', - 'gov.mx', - 'net.ar', - 'org.ar', - 'gov.ar', - 'net.pe', - 'org.pe', - 'gov.pe', - 'net.cl', - 'org.cl', - 'gov.cl', - 'net.co', - 'org.co', - 'gov.co', - 'net.ve', - 'org.ve', - 'gov.ve', + /com\.\w{2}$/, + /co\.\w{2}$/, + /ac\.\w{2}$/, + /net\.\w{2}$/, + /org\.\w{2}$/, + /gov\.\w{2}$/, + /edu\.\w{2}$/, + /nhs\.\w{2}$/, + /or\.\w{2}$/, + /go\.\w{2}$/, ]; export const parseCookieDomain = (url: string) => { @@ -87,7 +36,7 @@ export const parseCookieDomain = (url: string) => { // Handle multi-part TLDs like co.uk, com.au, etc. if (parts.length >= 3) { const potentialTLD = parts.slice(-2).join('.'); - if (MULTI_PART_TLDS.includes(potentialTLD)) { + if (MULTI_PART_TLDS.some((tld) => tld.test(potentialTLD))) { // For domains like example.co.uk or subdomain.example.co.uk // Use the last 3 parts: .example.co.uk return {