vuejs+koa2+mysql全栈开发个人博客(二) —— 登录状态储存

在这篇博客中,我将会详细介绍这个博客搭建的第一个技术要点:
登录状态储存

使用到的技术
jsonwebtoken
localStorage

用户执行登录操作后,前台会将登录信息传给后台。
后台验证通过后,会根据用户名生成一个token传回给前台

const jwt = require('jsonwebtoken')
module.exports = function (name){
    var expiry = new Date();
    expiry.setDate(expiry.getDate()+7);//有效期设置为七天
    const token = jwt.sign({
        name:name,
        exp:parseInt(expiry.getTime()/1000)//除以1000以后表示的是秒数 到期时间
    },process.env.JWT_SECRET)
    return token;
 }

前台接收到这个token后,存储在localStorage,实现持久化

[USER_SIGNIN](state,token){
    localStorage.setItem('jwt',token);
    state.token = token;
}

用户退出登录后,删除localStorage

[USER_SIGNOUT](state){
    localStorage.removeItem('jwt');
    state.token = null;
},

猜你喜欢

转载自blog.csdn.net/nate__river/article/details/80136254