Skip to content

Commit 25b3b8c

Browse files
authored
Merge pull request #883 from pradnya-orchestral/OWASP_tokenexpiration
logout action should logout user from all tabs
2 parents 3d91f51 + 545aad9 commit 25b3b8c

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

modules/st2-api/api.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,18 @@ export class API {
135135
server: this.server,
136136
token: this.token,
137137
}));
138+
localStorage.setItem('logged_in',JSON.stringify({
139+
loggedIn: true,
140+
}));
138141
}
139142
}
140143

141144
disconnect() {
142145
this.token = null;
143146
this.server = null;
144147
localStorage.removeItem('st2Session');
148+
localStorage.removeItem('logged_in');
149+
145150
}
146151

147152
isConnected() {

modules/st2-menu/menu.component.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,26 @@ export default class Menu extends React.Component {
6363
style: componentStyle,
6464
}
6565

66+
componentDidMount() {
67+
window.addEventListener('storage', this.storageChange());
68+
}
69+
70+
componentWillUnmount() {
71+
window.removeEventListener('storage',this.storageChange());
72+
}
73+
6674
docsLink = 'https://docs.stackstorm.com/'
6775
supportLink = 'https://forum.stackstorm.com/'
6876

77+
storageChange () {
78+
window.addEventListener('storage', (event) => {
79+
if (event.key === 'logged_in' && (event.oldValue !== event.newValue)) {
80+
api.disconnect();
81+
window.location.reload();
82+
}
83+
});
84+
}
85+
6986
handleDisconnect() {
7087
api.disconnect();
7188
window.location.reload();

0 commit comments

Comments
 (0)