在这篇博客中,我将会详细介绍这个博客搭建的第一个技术要点:
登录状态储存
使用到的技术
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;
},