diff --git a/integration/js/src/main/resources/keycloak.js b/integration/js/src/main/resources/keycloak.js
index d57c48d..445bca3 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 a8c6409..8261065 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);