Newer
Older
const namespaced = true;
const state = {
jwt: null,
userData: null,
didAutoLogout: false,
isLoggedIn: false,
lastPath: null
SET_JWT(state, jwt) {
state.jwt = jwt;
SET_USER_DATA(state, userData) {
state.userData = userData;
SET_USER_ROLE(state, userRole) {
state.userRole = userRole;
// SET_TOKEN_EXPIRATION(state, tokenExpiration){
// console.log("in action epiration data is", tokenExpiration);
// state.expirationDate = tokenExpiration
// },
LOG_OUT(state) {
state.jwt = null;
state.userData = null;
state.userRole = null;
setAutoLogout(state){
state.didAutoLogout = true
},
setLastPath(state, payload){
state.lastPath = payload
jwt: (state) => state.jwt,
userData: (state) => state.userData,
userRole: (state) => state.userRole,
didAutoLogout: (state) => state.didAutoLogout,
getLastPath : (state) => state.lastPath
setJwt({ commit }, jwt) {
setUserData({ commit, dispatch }, userData) {
localStorage.setItem('userData', userData);
/*
calulation of hours to millisec
(hr*3600000)
*/
// const expiresIn = 60 * 1000

moon
committed
// const expiresIn = 20000
let expiresIn = 20000
if ( process.env.VUE_APP_USER_EXPIRE_SEC ) {
expiresIn = parseInt( process.env.VUE_APP_USER_EXPIRE_SEC )
} else {
console.error( 'Please setup VUE_APP_USER_EXPIRE_SEC environment variable. Default expiration time is 20 seconds')
}
const expirationDate = new Date().getTime() + expiresIn
localStorage.setItem('tokenExpiration', expirationDate)
timer= setTimeout(function(){
dispatch('autoLogout')
}, expiresIn )
setUserRole({ commit }, userRole) {
localStorage.setItem('roleName', userRole);
logOut({ commit }) {
localStorage.removeItem('jwt');
localStorage.removeItem('userData');
localStorage.removeItem('roleName');
localStorage.removeItem('tokenExpiration')
clearTimeout(timer)
tryLogin(context) {
const jwtToken = localStorage.getItem('jwt');
const userData = localStorage.getItem('userData');
const role = localStorage.getItem('roleName');
const tokenExpiration = localStorage.getItem('tokenExpiration')
const expiresIn= tokenExpiration - new Date().getTime()
if(expiresIn<0){
return
}
timer = setTimeout(function(){
context.dispatch('autoLogout')
}, expiresIn )
context.commit('SET_JWT', jwtToken);
context.commit('SET_USER_DATA', userData);
context.commit('SET_USER_ROLE', role);
autoLogout(context){
context.dispatch('logOut')
context.commit('setAutoLogout')
},
setLastPath(context, path){

raghosh
committed
context.commit('setLastPath', path)
export default {
namespaced,
state,
mutations,
getters,
actions,
};