|
|
|
@ -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);
|
|
|
|
|