This commit is contained in:
Max Peintner
2025-02-14 11:47:51 +01:00
parent 59f7f0b9d7
commit 7d249bfcdc
2 changed files with 19 additions and 8 deletions

View File

@@ -20,7 +20,7 @@ declare namespace NodeJS {
* The default is x-zitadel-instance-host. * The default is x-zitadel-instance-host.
* Most users don't need to set this variable. * Most users don't need to set this variable.
*/ */
ZITADEL_INSTANCE_HOST_HEADER: string ZITADEL_INSTANCE_HOST_HEADER: string;
/** /**
* Self hosting: The service user id * Self hosting: The service user id

View File

@@ -42,15 +42,26 @@ export async function createServiceForHost<T extends ServiceClass>(
throw new Error("No token found"); throw new Error("No token found");
} }
const instanceHost = new URL(serviceUrl).host const instanceHost = new URL(serviceUrl).host;
const transport = createServerTransport(token, { const transport = createServerTransport(token, {
baseUrl: process.env.ZITADEL_API_URL ?? serviceUrl, baseUrl: process.env.ZITADEL_API_URL ?? serviceUrl,
interceptors: process.env.ZITADEL_API_URL && process.env.ZITADEL_API_URL != serviceUrl || process.env.ZITADEL_INSTANCE_HOST_HEADER ? [(next) => { interceptors:
return (req) => { (process.env.ZITADEL_API_URL &&
req.header.set(process.env.ZITADEL_INSTANCE_HOST_HEADER ?? "x-zitadel-instance-host", instanceHost) process.env.ZITADEL_API_URL != serviceUrl) ||
return next(req) process.env.ZITADEL_INSTANCE_HOST_HEADER
} ? [
}] : undefined (next) => {
return (req) => {
req.header.set(
process.env.ZITADEL_INSTANCE_HOST_HEADER ??
"x-zitadel-instance-host",
instanceHost,
);
return next(req);
};
},
]
: undefined,
}); });
return createClientFor<T>(service)(transport); return createClientFor<T>(service)(transport);