File tree Expand file tree Collapse file tree 1 file changed +27
-2
lines changed
Expand file tree Collapse file tree 1 file changed +27
-2
lines changed Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments