TT#32204 Session: As a Customer I want to get logged out properly if session is expired

Change-Id: I2cca9767bd69c7d9f741cd918239ffb08b8bc79b
changes/47/19247/2
Hans-Peter Herzog 7 years ago
parent 29c060eca9
commit 9e4c5cbab1

@ -81,6 +81,15 @@ export default {
userDataSucceeded(state) {
return state.userDataSucceeded;
},
jwtTTL(state) {
var expirationBuffer = 0.05;
var jwtParts = state.jwt.split('\.');
var jwtPayload = JSON.parse(atob(jwtParts[1]));
var timeDiff = Math.floor((Date.now() / 1000) - jwtPayload.exp);
var timeLeft = Math.abs(timeDiff);
var timeLeftBuffer = Math.round(timeLeft * expirationBuffer);
return timeLeft - timeLeftBuffer
}
},
mutations: {
loginRequesting(state) {
@ -156,6 +165,9 @@ export default {
subscriber: result.subscriber,
capabilities: result.capabilities
});
setTimeout(()=>{
context.dispatch('logout');
}, context.getters.jwtTTL * 1000);
context.dispatch('call/initialize', null, { root: true });
}).catch((err)=>{
context.commit('userDataFailed', err.message);

Loading…
Cancel
Save