From b1a79242aae71126e1a8321cbddcee47ec3519b1 Mon Sep 17 00:00:00 2001 From: mrjvs Date: Sun, 5 Nov 2023 13:29:12 +0100 Subject: [PATCH] allow any domain config setting --- src/config/fragments/dev.ts | 2 +- src/config/schema.ts | 4 ++++ src/modules/fastify/index.ts | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/config/fragments/dev.ts b/src/config/fragments/dev.ts index 58d0b92..bcd2541 100644 --- a/src/config/fragments/dev.ts +++ b/src/config/fragments/dev.ts @@ -2,7 +2,7 @@ import { FragmentSchema } from '@/config/fragments/types'; export const devFragment: FragmentSchema = { server: { - cors: 'http://localhost:5173', + allowAnySite: true, trustProxy: true, }, logging: { diff --git a/src/config/schema.ts b/src/config/schema.ts index 602807d..b94e46c 100644 --- a/src/config/schema.ts +++ b/src/config/schema.ts @@ -9,6 +9,10 @@ export const configSchema = z.object({ // space seperated list of allowed cors domains cors: z.string().default(''), + // disable cross origin restrictions, allow any site. + // overwrites the cors option above + allowAnySite: z.coerce.boolean().default(false), + // should it trust reverse proxy headers? (for ip gathering) trustProxy: z.coerce.boolean().default(false), diff --git a/src/modules/fastify/index.ts b/src/modules/fastify/index.ts index 7df91e0..7861ed8 100644 --- a/src/modules/fastify/index.ts +++ b/src/modules/fastify/index.ts @@ -56,8 +56,10 @@ export async function setupFastify(): Promise { // plugins log.info(`setting up plugins`, { evt: 'setup-plugins' }); + const corsDomains = conf.server.cors.split(' ').filter((v) => v.length > 0); + const corsSetting = conf.server.allowAnySite ? true : corsDomains; await app.register(cors, { - origin: conf.server.cors.split(' ').filter((v) => v.length > 0), + origin: corsSetting, credentials: true, });