diff --git a/integration/js/src/main/resources/keycloak.js b/integration/js/src/main/resources/keycloak.js index d57c48de583..445bca3f191 100755 --- a/integration/js/src/main/resources/keycloak.js +++ b/integration/js/src/main/resources/keycloak.js @@ -619,7 +619,7 @@ if (event.origin !== loginIframe.iframeOrigin) { return; } - var data = event.data; + var data = JSON.parse(event.data); var promise = loginIframe.callbackMap[data.callbackId]; delete loginIframe.callbackMap[data.callbackId]; @@ -652,7 +652,7 @@ msg.callbackId = createCallbackId(); loginIframe.callbackMap[msg.callbackId] = promise; var origin = loginIframe.iframeOrigin; - loginIframe.iframe.contentWindow.postMessage(msg, origin); + loginIframe.iframe.contentWindow.postMessage(JSON.stringify(msg), origin); } else { promise.setSuccess(); } diff --git a/integration/js/src/main/resources/login-status-iframe.html b/integration/js/src/main/resources/login-status-iframe.html index a8c6409d63c..826106548e3 100755 --- a/integration/js/src/main/resources/login-status-iframe.html +++ b/integration/js/src/main/resources/login-status-iframe.html @@ -17,14 +17,15 @@ return; } - event.data.loggedIn = false; + var data = JSON.parse(event.data); + data.loggedIn = false; var cookie = getCookie('KEYCLOAK_SESSION'); if (cookie) { - event.data.loggedIn = true; - event.data.session = cookie; + data.loggedIn = true; + data.session = cookie; } - event.source.postMessage(event.data, + event.source.postMessage(JSON.stringify(data), event.origin); } window.addEventListener("message", receiveMessage, false);