From 672ae77018ace080da9e388ba4a3491e910bcde6 Mon Sep 17 00:00:00 2001 From: Oleksii Orel Date: Fri, 19 Nov 2021 16:51:08 +0200 Subject: [PATCH] fix: ide loader (#180) Signed-off-by: Oleksii Orel --- .../src/main/webapp/_app/keycloackLoader.js | 13 +------------ .../src/main/webapp/_app/loader.js | 11 +++++++++-- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/assembly/assembly-root-war/src/main/webapp/_app/keycloackLoader.js b/assembly/assembly-root-war/src/main/webapp/_app/keycloackLoader.js index e3e247a469..786647dca0 100644 --- a/assembly/assembly-root-war/src/main/webapp/_app/keycloackLoader.js +++ b/assembly/assembly-root-war/src/main/webapp/_app/keycloackLoader.js @@ -17,17 +17,6 @@ export class KeycloakLoader { const msg = "Cannot load keycloak settings. This is normal for single-user mode."; return new Promise((resolve, reject) => { - try { - if (window.parent && window.parent['_keycloak']) { - window['_keycloak'] = window.parent['_keycloak']; - resolve(window['_keycloak']); - return; - } - } catch (e) { - // parent frame has different origin, so access to parent frame is forbidden - console.error(msg, e); - } - try { const request = new XMLHttpRequest(); @@ -111,7 +100,7 @@ export class KeycloakLoader { checkLoginIframe: false, useNonce: useNonce, scope: 'openid', - redirectUri: decodeURIComponent(location.href) + redirectUri: location.href }) .success(() => { resolve(keycloak); diff --git a/assembly/assembly-root-war/src/main/webapp/_app/loader.js b/assembly/assembly-root-war/src/main/webapp/_app/loader.js index ae9e40e691..d6df390928 100644 --- a/assembly/assembly-root-war/src/main/webapp/_app/loader.js +++ b/assembly/assembly-root-war/src/main/webapp/_app/loader.js @@ -137,7 +137,14 @@ class Loader { .map(machine => Object.values(machine.servers)) .reduce((servers, machineServers) => servers.concat(...machineServers), []); - var server = servers.find(_server => _server.url && redirectUrl.startsWith(_server.url)); + const server = servers.find(_server => { + if (!_server.url) { + return false; + } + const url = new URL(_server.url); + url.search = ''; + return redirectUrl.startsWith(url.href); + }); if (server) { resolve(server); @@ -235,5 +242,5 @@ class Loader { console.error(errorMessage); loader.hideLoader(); loader.error(errorMessage); - }; + } })();