fix: Corriger l'erreur Invalid URL quand VITE_OAUTH_PORTAL_URL est absent

- Ajouter un guard dans getLoginUrl() pour rediriger vers /login
  quand VITE_OAUTH_PORTAL_URL n'est pas configuré
- Évite le crash new URL('undefined/app-auth') sur la page d'accueil
This commit is contained in:
manus-admin
2026-04-12 19:10:11 -04:00
parent aab11c8308
commit d5c1bd265f

View File

@@ -1,17 +1,18 @@
export { COOKIE_NAME, ONE_YEAR_MS } from "@shared/const"; export { COOKIE_NAME, ONE_YEAR_MS } from "@shared/const";
// Generate login URL at runtime so redirect URI reflects the current origin. // Generate login URL at runtime so redirect URI reflects the current origin.
export const getLoginUrl = () => { export const getLoginUrl = () => {
const oauthPortalUrl = import.meta.env.VITE_OAUTH_PORTAL_URL; const oauthPortalUrl = import.meta.env.VITE_OAUTH_PORTAL_URL;
const appId = import.meta.env.VITE_APP_ID; const appId = import.meta.env.VITE_APP_ID;
// If OAuth is not configured, redirect to local login page
if (!oauthPortalUrl) {
return "/login";
}
const redirectUri = `${window.location.origin}/api/oauth/callback`; const redirectUri = `${window.location.origin}/api/oauth/callback`;
const state = btoa(redirectUri); const state = btoa(redirectUri);
const url = new URL(`${oauthPortalUrl}/app-auth`); const url = new URL(`${oauthPortalUrl}/app-auth`);
url.searchParams.set("appId", appId); url.searchParams.set("appId", appId);
url.searchParams.set("redirectUri", redirectUri); url.searchParams.set("redirectUri", redirectUri);
url.searchParams.set("state", state); url.searchParams.set("state", state);
url.searchParams.set("type", "signIn"); url.searchParams.set("type", "signIn");
return url.toString(); return url.toString();
}; };