parent
e71e5cff0d
commit
672ae77018
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
};
|
||||
}
|
||||
})();
|
||||
|
|
|
|||
Loading…
Reference in New Issue