diff --git a/web/src/lib/oidc.ts b/web/src/lib/oidc.ts index 0916c47..c5bbed1 100644 --- a/web/src/lib/oidc.ts +++ b/web/src/lib/oidc.ts @@ -103,7 +103,10 @@ export async function startLogin(): Promise { if (isDesktop) { const apiUrl = getConfig().apiUrl || '' - const ret = encodeURIComponent(location.origin + location.pathname.replace(/\/$/, '') + '?desktop=1') + const ret = encodeURIComponent( + location.origin + location.pathname.replace(/\/$/, '') + + '?desktop=1&apiUrl=' + encodeURIComponent(apiUrl) + ) location.href = `http://127.0.0.1:18901/oidc/start?apiUrl=${encodeURIComponent(apiUrl)}&ret=${ret}` return } diff --git a/web/src/main.ts b/web/src/main.ts index 7f5dd59..312046a 100644 --- a/web/src/main.ts +++ b/web/src/main.ts @@ -7,7 +7,7 @@ function handleDesktopToken() { const params = new URLSearchParams(location.search) const token = params.get('token') if (token && new URLSearchParams(location.search).has('desktop')) { - const apiUrl = getConfig().apiUrl || '' + const apiUrl = params.get('apiUrl') || getConfig().apiUrl || '' setConfig({ apiUrl, token, isDesktop: true }) initConfig({ apiUrl, token, isDesktop: true }) params.delete('token')