Spaces:
Sleeping
Sleeping
| export { COOKIE_NAME, ONE_YEAR_MS } from "@shared/const"; | |
| // Generate login URL at runtime so redirect URI reflects the current origin. | |
| export const getLoginUrl = () => { | |
| const oauthPortalUrl = import.meta.env.VITE_OAUTH_PORTAL_URL; | |
| const appId = import.meta.env.VITE_APP_ID; | |
| // Dev mode: no OAuth portal configured, return current origin | |
| if (!oauthPortalUrl) { | |
| return window.location.origin; | |
| } | |
| const redirectUri = `${window.location.origin}/api/oauth/callback`; | |
| const state = btoa(redirectUri); | |
| const url = new URL(`${oauthPortalUrl}/app-auth`); | |
| url.searchParams.set("appId", appId || "dev"); | |
| url.searchParams.set("redirectUri", redirectUri); | |
| url.searchParams.set("state", state); | |
| url.searchParams.set("type", "signIn"); | |
| return url.toString(); | |
| }; | |