Vue前端单页项目的用户认证思路
环境:
Backend:Laravel + Passport
Frontend:Vue 2.0 + Vuex + Vue-router
问题:
前端登陆后获取access_token
,保存在localStorage
中,那么用户退出登录的话需要怎么操作?清空localStorage
吗?是否需要向后端再发送请求?
如果用户没有点击退出登录,而是直接关闭浏览器或者窗口呢,下次访问时,localStorage
里的access_token
依然存在,这样的话安全性不太好吧?
我的access_token
的有效期是一年,那么每次登录都会重新生成,这个怎么解决?
求前端用户认证的处理思路……万分感谢!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
axios部分
router部分:
刚好总结了一个项目,欢迎star~
【vue+axios】一个项目学会前端实现登录拦截
退出时删除
localStorage
中的access_token
。可以给Vuex写个插件,每次
commit
mutation
时,更新一下access_token
的刷新时间。下次登录时,判断这个刷新时间,5分钟前了,就认为登录信息过期了。
如果不想把
access_token
放到localStorage
中,可以放在Vuex中,每次都需要重新登录。重新登录时,你可以没必要都重新生成
access_token
吧。认证信息以后台为准,不管是登录还是退出都要发送请求,然后根据api返回的结果前端进行操作,如果不记住认证信息用sesionStorage好点
设置路由的拦截器,拦截除了login和logout的所有页面,检查本地变量user是否存在,存在则判断上次校验时间,如果超出1分钟则重新校验。