refactor: update API base URL handling to support same-origin requests and enhance auth cookie management
This commit is contained in:
@@ -16,7 +16,10 @@ export const getRequestBaseUrl = () => {
|
|||||||
return process.env.PRIVATE_SERVER_URL || env.PUBLIC_SERVER_URL;
|
return process.env.PRIVATE_SERVER_URL || env.PUBLIC_SERVER_URL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return env.PUBLIC_SERVER_URL;
|
// Browser: same-origin via the Cloudflare Worker /api proxy. Keeps auth
|
||||||
|
// cookies host-only on whichever domain the user is currently visiting
|
||||||
|
// (app.classroomio.com, <org>.classroomio.school, or a BYOD domain).
|
||||||
|
return `${window.location.origin}/api`;
|
||||||
};
|
};
|
||||||
|
|
||||||
function mergeAbortSignals(...signals: Array<AbortSignal | null | undefined>) {
|
function mergeAbortSignals(...signals: Array<AbortSignal | null | undefined>) {
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import { createAuthClient } from 'better-auth/svelte';
|
import { createAuthClient } from 'better-auth/svelte';
|
||||||
import { env } from '$env/dynamic/public';
|
import { getRequestBaseUrl } from '$lib/utils/services/api';
|
||||||
import { ssoClient } from '@better-auth/sso/client';
|
import { ssoClient } from '@better-auth/sso/client';
|
||||||
|
|
||||||
|
// Server: PRIVATE_SERVER_URL (Render internal). Browser: same-origin /api
|
||||||
|
// through the Cloudflare Worker proxy, so auth cookies stay host-only on
|
||||||
|
// whichever domain the user is on (app, tenant subdomain, or BYOD).
|
||||||
export const authClient = createAuthClient({
|
export const authClient = createAuthClient({
|
||||||
baseURL: env.PUBLIC_SERVER_URL,
|
baseURL: getRequestBaseUrl(),
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
credentials: 'include' // Include cookies in requests
|
credentials: 'include' // Include cookies in requests
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user