diff --git a/adapters/oidc/js/src/main/resources/keycloak.js b/adapters/oidc/js/src/main/resources/keycloak.js
index f0cae42..f5979ae 100755
--- a/adapters/oidc/js/src/main/resources/keycloak.js
+++ b/adapters/oidc/js/src/main/resources/keycloak.js
@@ -653,12 +653,7 @@
if (token) {
kc.token = token;
kc.tokenParsed = decodeToken(token);
-
- var sessionId = kc.realm + '/' + kc.tokenParsed.sub;
- if (kc.tokenParsed.session_state) {
- sessionId = sessionId + '/' + kc.tokenParsed.session_state;
- }
- kc.sessionId = sessionId;
+ kc.sessionId = kc.tokenParsed.session_state;
kc.authenticated = true;
kc.subject = kc.tokenParsed.sub;
kc.realmAccess = kc.tokenParsed.realm_access;
diff --git a/adapters/oidc/js/src/main/resources/login-status-iframe.html b/adapters/oidc/js/src/main/resources/login-status-iframe.html
index f941663..b1012f7 100755
--- a/adapters/oidc/js/src/main/resources/login-status-iframe.html
+++ b/adapters/oidc/js/src/main/resources/login-status-iframe.html
@@ -53,7 +53,8 @@
req.send();
} else {
if (clientId === init.clientId && origin === init.origin) {
- if (sessionState === cookie) {
+ var c = cookie.split('/');
+ if (sessionState === c[2]) {
callback('unchanged');
} else {
callback('changed');
@@ -81,7 +82,7 @@
var origin = event.origin;
var data = event.data.split(' ');
if (data.length != 2) {
- event.source.postMessage('error', origin);
+ return;
}
var clientId = data[0];