diff --git a/packages/connect-react/src/contexts/SharedProvider.tsx b/packages/connect-react/src/contexts/SharedProvider.tsx index ecfcf22c1..424be7411 100644 --- a/packages/connect-react/src/contexts/SharedProvider.tsx +++ b/packages/connect-react/src/contexts/SharedProvider.tsx @@ -20,6 +20,7 @@ export const SharedProvider: FC> = ({ children, connect config.projectId, config.frontendApiUrlSuffix ?? 'frontendapi.corbado.io', config.isDebug ?? false, + config.customDomain, ), ); diff --git a/packages/connect-web-js/src/models/CorbadoState.ts b/packages/connect-web-js/src/models/CorbadoState.ts index e7948fa54..ccd93de00 100644 --- a/packages/connect-web-js/src/models/CorbadoState.ts +++ b/packages/connect-web-js/src/models/CorbadoState.ts @@ -10,6 +10,7 @@ export class CorbadoState { connectConfig.projectId, connectConfig.frontendApiUrlSuffix ?? 'frontendapi.corbado.io', connectConfig.isDebug ?? false, + connectConfig.customDomain, ); this.#connectConfig = connectConfig; diff --git a/packages/types/src/connect/config.ts b/packages/types/src/connect/config.ts index 40a085f8c..fca1a6e3f 100644 --- a/packages/types/src/connect/config.ts +++ b/packages/types/src/connect/config.ts @@ -45,6 +45,7 @@ export type CorbadoConnectConfig = { frontendApiUrlSuffix?: string; isDebug?: boolean; enableHighlight?: boolean; + customDomain?: string; }; export type CorbadoConnectDemoConfig = { diff --git a/packages/web-core/src/services/ConnectService.ts b/packages/web-core/src/services/ConnectService.ts index 5bbaf2c5c..d50ab26ad 100644 --- a/packages/web-core/src/services/ConnectService.ts +++ b/packages/web-core/src/services/ConnectService.ts @@ -55,12 +55,14 @@ export class ConnectService { #projectId: string; #timeout: number; readonly #frontendApiUrlSuffix: string; + readonly #customDomain: string | undefined; #visitorId: string; - constructor(projectId: string, frontendApiUrlSuffix: string, isDebug: boolean) { + constructor(projectId: string, frontendApiUrlSuffix: string, isDebug: boolean, customDomain?: string) { this.#projectId = projectId; this.#timeout = 10 * 1000; this.#frontendApiUrlSuffix = frontendApiUrlSuffix; + this.#customDomain = customDomain; this.#webAuthnService = new WebAuthnService(); this.#visitorId = ''; @@ -129,7 +131,9 @@ export class ConnectService { #setApisV2(process?: ConnectProcess): void { let frontendApiUrl = this.#getDefaultFrontendApiUrl(); - if (process?.frontendApiUrl && process?.frontendApiUrl.length > 0) { + if (this.#customDomain && this.#customDomain.length > 0) { + frontendApiUrl = this.#customDomain; + } else if (process?.frontendApiUrl && process?.frontendApiUrl.length > 0) { frontendApiUrl = process.frontendApiUrl; }