最近用了tymon/jwt-auth的插件来做spa的登录注册,发现用户的登录和注册信息都是通过查询字符串传过去的,不知道这样安不安全?
隐藏提示框应该可以直接commit把,不用再次通过dispatch经过action吧
感觉不用dispatch,直接在methods里面axios就可以了吧。
修改密码的话还是先验证一下原密码感觉更严谨一点。
jelly应该是讲了两种方法,两种分开用就行。要么catch要么created里面执行refresh
localstorage和js-cookie有什么区别?
我也是这个问题。看视频里面也没有写auth:api啊
我也是这个问题。看视频里面也没有写auth:api啊
jelly我这个方法可行吗
个人愚见--->
再写了一个action和mutation,用window.localstorage.getItem()来判断用户是否登录(用户登录的时候把name,email也存到storage里面),如下:
App组件:
created(){
if(Cookie.getToken()) this.$store.dispatch('loginRefresh')
}
store:
mutations:{
login(state,payload){
state.authenticated=true;
state.name=payload.name;
state.email=payload.email;
},
loginRefresh(state){
state.authenticated=true;
state.name=window.localStorage.getItem('name');
state.email=window.localStorage.getItem('email');
}
},
actions:{
login({commit},payload){
axios.post(`http://vue-spa/api/login`,payload)
.then(response=>{
Cookie.setToken(response.data.access_token);
window.localStorage.setItem('name',response.data.name);
window.localStorage.setItem('email',payload.email);
commit('login',{name:response.data.name,email:payload.email})
})
},
loginRefresh({commit}){
commit('loginRefresh')
}
}
我在后端proxy里面加了name一并返回,其他什么都不用做。