fix: ide loader (#180)

Signed-off-by: Oleksii Orel <oorel@redhat.com>
pull/183/head
Oleksii Orel 2021-11-19 16:51:08 +02:00 committed by GitHub
parent e71e5cff0d
commit 672ae77018
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 14 deletions

View File

@ -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);

View File

@ -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);
};
}
})();