Skip to content

Commit c90e469

Browse files
committed
call silentQuerySession from session monitor if user session changed
1 parent 8840718 commit c90e469

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

src/SessionMonitor.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,32 @@ export default class SessionMonitor {
8484
}
8585

8686
_callback() {
87-
Log.info("SessionMonitor._callback; user has changed login status");
88-
this._userManager.events._raiseUserSignedOut();
87+
Log.info("SessionMonitor._callback");
88+
89+
this._userManager.silentQueryCurrentSignedInSession().then(session => {
90+
var raiseEvent = true;
91+
92+
if (session) {
93+
if (session.sub === this._sub) {
94+
Log.info("Same sub still logged in at OP, restarting check session iframe; session_state:", session.session_state);
95+
this._checkSessionIFrame.start(session.session_state);
96+
raiseEvent = false;
97+
}
98+
else if (session) {
99+
Log.info("Different subject signed into OP:", session.sub);
100+
}
101+
}
102+
else {
103+
Log.info("Subject no longer signed into OP");
104+
}
105+
106+
if (raiseEvent) {
107+
Log.info("SessionMonitor._callback; raising signed out event");
108+
this._userManager.events._raiseUserSignedOut();
109+
}
110+
}).catch(err => {
111+
Log.info("Error calling silentQueryCurrentSignedInSession; raising signed out event", err.message);
112+
this._userManager.events._raiseUserSignedOut();
113+
});
89114
}
90115
}

0 commit comments

Comments
 (0)