diff --git a/plugins/login-resources/src/utils.ts b/plugins/login-resources/src/utils.ts index 8df585c2a5..8d79442168 100644 --- a/plugins/login-resources/src/utils.ts +++ b/plugins/login-resources/src/utils.ts @@ -313,6 +313,7 @@ export async function selectWorkspace (workspace: string): Promise<[Status, Work const token = getMetadata(presentation.metadata.Token) if (token === undefined) { const loc = getCurrentLocation() + loc.path[0] = 'login' loc.path[1] = 'login' loc.path.length = 2 navigate(loc) diff --git a/plugins/workbench-resources/src/connect.ts b/plugins/workbench-resources/src/connect.ts index 0b5490e164..7c894f4616 100644 --- a/plugins/workbench-resources/src/connect.ts +++ b/plugins/workbench-resources/src/connect.ts @@ -52,7 +52,7 @@ export async function connect (title: string): Promise { } const tokens: Record = fetchMetadataLocalStorage(login.metadata.LoginTokens) ?? {} let token = tokens[ws] - if (token === undefined) { + if (token === undefined && getMetadata(presentation.metadata.Token) !== undefined) { const selectWorkspace = await getResource(login.function.SelectWorkspace) const loginInfo = (await selectWorkspace(ws))[1] if (loginInfo !== undefined) { @@ -67,11 +67,11 @@ export async function connect (title: string): Promise { const endpoint = fetchMetadataLocalStorage(login.metadata.LoginEndpoint) const email = fetchMetadataLocalStorage(login.metadata.LoginEmail) - if (token === undefined || endpoint === null || email === null) { + const navigateUrl = encodeURIComponent(JSON.stringify(loc)) navigate({ path: [loginId], - query: { navigateUrl: encodeURIComponent(JSON.stringify(loc)) } + query: { navigateUrl } }) return }