vue 中token验证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 中token验证相关的知识,希望对你有一定的参考价值。
参考技术A 首先 将拿到的token,存储到locallstorage,,,在main.js文件中 通过设置请求拦截器,,判断是否拿到了token,如果拿到了,则每个http header都加上token,,方便后端进行 效验合法,如果没有 则进行错误抛出,进行提示消息。
在main.js文件中 通过设置响应拦截器,通过返回分析reponse结果,进行判断,一般返回结果中,这个code为10010 token过期,code为10011
token无效,则就行router.replace(path: '/login', //跳转到到登录页重新获取token ),判断token是否存在,如果存在说明需要更新token,覆盖原来的token,,,或者 错误抛出,进行提示消息。
vue登录注册及token验证
在大多数网站中,实现登录注册都是结合本地存储cookie、localStorage和请求时验证token等技术。而对于某些功能页面,会尝试获取本地存储中的token进行判断,存在则可进入,否则跳到登录页或弹出登录框。
而在vue单页中,我们可以通过监控route对象,从中匹配信息去决定是否验证token,然后定义后续行为
// router.js import Vue from ‘vue‘ import VueRouter from ‘vue-router‘ Vue.use(VueRouter) const routes = [ { path: ‘/‘, component: require(‘./views/Home‘), meta: { requiresAuth: true } }, ] const router = new VueRouter({ routes: routes }) router.beforeEach((to, from, next) => { let token = window.localStorage.getItem(‘token‘) if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) { next({ path: ‘/login‘, query: { redirect: to.fullPath } }) } else { next() } }) export default router
2. watch route对象。原理同上
<script> // App.vue export default { watch:{ ‘$route‘:function(to,from){ let token = window.localStorage.getItem(‘token‘); if (to.matched.some(record => record.meta.requiresAuth) && (!token || token === null)) { next({ path: ‘/login‘, query: { redirect: to.fullPath } }) } else { next() } } } } </script>
以上是关于vue 中token验证的主要内容,如果未能解决你的问题,请参考以下文章