From bf7bb3ad4f32dcc0344bdb9471b7414cb865b0c1 Mon Sep 17 00:00:00 2001 From: Aday Bujeda Date: Thu, 12 Sep 2024 13:59:37 +0100 Subject: [PATCH] Fixed XDMoD Javascript login methods and error handling --- apps/dashboard/app/javascript/xdmod.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/dashboard/app/javascript/xdmod.js b/apps/dashboard/app/javascript/xdmod.js index 29ec450be..b219b3d8a 100644 --- a/apps/dashboard/app/javascript/xdmod.js +++ b/apps/dashboard/app/javascript/xdmod.js @@ -85,12 +85,12 @@ var efficiencyHelpers = { } }; -function promiseLoginToXDMoD(xdmodUrl){ +function promiseLoginToXDMoD(){ return new Promise(function(resolve, reject){ var promise_to_receive_message_from_iframe = new Promise(function(resolve, reject){ window.addEventListener("message", function(event){ - if (event.origin !== xdmodUrl){ + if (event.origin !== xdmodUrl()){ console.log('Received message from untrusted origin, discarding'); return; } @@ -107,8 +107,8 @@ function promiseLoginToXDMoD(xdmodUrl){ }, false); }); - fetch(xdmodUrl + '/rest/auth/idpredirect?returnTo=%2Fgui%2Fgeneral%2Flogin.php') - .then(response => response.ok ? Promise.resolve(response) : Promise.reject()) + fetch(xdmodUrl() + '/rest/auth/idpredirect?returnTo=%2Fgui%2Fgeneral%2Flogin.php') + .then(response => response.ok ? Promise.resolve(response) : Promise.reject(new Error('Login failed: IDP redirect failed'))) .then(response => response.json()) .then(function(data){ return new Promise(function(resolve, reject){ @@ -280,7 +280,7 @@ function createEfficiencyWidgets() { return; } - promiseLoggedIntoXDMoD(xdmodUrl) + promiseLoggedIntoXDMoD() .then((user_data) => fetch(aggregateDataUrl(user_data), { credentials: 'include' })) .then(response => response.ok ? Promise.resolve(response) : Promise.reject(new Error(response.statusText))) .then(response => response.json())