精华内容
下载资源
问答
  • TOKEN过期

    2020-07-16 13:42:37
    问题:登录系统提示token过期 解决:登录提示token过期。跟踪显示在登录后更新token。在访问某个系统接口提示token过期,原因为:在登录时候将token存入rides,与在访问时候获取的token不统一。在各子项目之间配置...

    问题:登录系统提示token过期

    解决:登录提示token过期。跟踪显示在登录后更新token。在访问某个系统接口提示token过期,原因为:在登录时候将token存入rides,与在访问时候获取的token不统一。在各子项目之间配置的时候“database”不同,导致接口获取不到token

     

    总结:配置文件等细节需要配置一致

     
    展开全文
  • * 监听token过期时间 * @return: Boolean */ export const tokenExpressInTime = () => { // let reg = /[\u4e00-\u9fa5]/g // let time = localStorage.getItem('tokens') ? JSON.parse(localStorage....

    处理token过期返回到登录页面重新进行登录。

    一半后台都会返回个过期时间  前端的也需要定时调用这个接口去刷新token 或者 每次去请求下接口看token是否过期。

    我这这里做了这样的我操作。 

    // 登录操作的请求
    this.$axios.post('请求地址').then(res => {
        console.log('获取到了用户的token', res)
        localStorage.setItem('token', JSON.stringify(res))
        // 这里设置过期时间我没有用后台返回的自己换成了6个小时
        // 当前时间加6个小时的时间就是token过期的时间然后存在本地缓存中
        let date = new Date().getTime() + (6 * 3600 * 1000)
        localStorage.setItem('tokenTime', date)
    })

    然后在utils.js中添加公共方法 监听当前时间减去token过期的时间是否大于0 

    /** 
     * 监听token过期时间
     * @return: Boolean
     */
    export const tokenExpressInTime = () => {
      let date = new Date()  
      let tokenTime = localStorage.getItem('tokenTime')
      // 当前时间减去获取本地过期时间的值是否大于0   大于0为过期返回true 否则返回false
      return (date.getTime() - Number(tokenTime)) > 0 ? true : false
    }

    在axios.js中 全局拦截中添加判断代码

    import { tokenExpressInTime } from '../utils/utils.js'
    import { Message  } from 'element-ui'
    
    // 添加请求拦截器
    service.interceptors.request.use(config => {
      // 在拦截器中添加判断 
      // 每次接口请求的时候进行判断 tokenExpressInTime 方法返回true 并且本地存在token 则为token过期   清空本地缓存  进行重新登录的操作
      if (tokenExpressInTime() && localStorage.getItem('token')) {
        Message({type:'error', center: true, message:'登录超时请重新登录', duration:2000})
        setTimeout(() => {
          localStorage.clear()
          location.href = '/'
        }, 1500)
        return false
      }
      return config;
    }, error => {
      console.log('error request:', error)
      return Promise.reject(error);
    })

    一般情况下后端都会返回过期时间  前端进行定时调接口。进行token刷新。

    我在这里处理是前端保存起来时间 在每次进行接口请求的同时拦截进行判断。免除接口调用或者本地进行定时器的操作。

    个人想法,大佬有好意见,欢迎评论区指点。

    转发请标注 原创链接 谢谢   https://blog.csdn.net/weixin_38356321/article/details/103488150

    展开全文
  • 主要介绍了请求时token过期自动刷新token操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • token 过期解决

    千次阅读 2019-10-24 11:22:18
    vue如何在token过期之后跳转到登录页面,且不影响其他无需携带token的接口数据访问 事情是这样的,最近做了一个类似于商城的项目。本来测试是没有问题的,后来过了大概三四天的时间没有在浏览器中打开过,再打开...

    vue如何在token过期之后跳转到登录页面,且不影响其他无需携带token的接口数据访问

    事情是这样的,最近做了一个类似于商城的项目。本来测试是没有问题的,后来过了大概三四天的时间没有在浏览器中打开过,再打开以后,在未登录情况下打开商城首页报了一大堆的错误。
    错误信息

    出现问题的原因

    默认情况下商城首页,无需登录即可打开,也就是说访问后台接口不需要携带token。但是用户在上一次登录系统访问页面后,没有退出系统,直接关闭了浏览器,导致本地存储器仍然存储着旧的token,当你再次打开该系统进入首页后 ,访问后台的接口会携带旧的token,导致报错:(状态码是401,token 过期导致),但是这几个接口都是不应该携带token的,按道理后台应该把这个规避掉,但后台说处理不了,所以只能自己处理了。

    解决思路

    作为小白的我,绞尽脑汁想了一个笨办法,虽然也解决了,但真他娘的累
    思路(针对不同的接口,给予不同的axios对象,一个携带token,一个不携带token,然后将需要携带token的那个axios对象设置拦截器,如果token过期,就跳转到登录页面)。

    步骤1:设置两个.js文件,在每个文件中创建axios全局对象。

    在这里插入图片描述

    代码如下

    需要携带token的axios

    // An highlighted block
    
    
    import axios from 'axios'
    import router from '../router'
    
    var axios1 = axios.create({
            timeout:6000
    })
    axios1.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
    axios1.defaults.baseURL = 'https://127.0.0.1:12000';
    let token = JSON.parse(localStorage.getItem('token'));
    if (token) {
      axios1.defaults.headers.common["Authorization"] = "JWT " + token;
    }
    
    // 添加响应拦截器
    axios1.interceptors.response.use(
      function (response) {
         return response;
      }, 
      function (error) {
        if(error.response.status===401){
        	 alert("登录信息已过期,请重新登录")
        	 router.replace({
    	        path: '/start/login/personlogin' // 到登录页重新获取token
    	    })
            localStorage.removeItem('token')
            localStorage.removeItem('user')
        }
        return Promise.reject(error);
     });
    export default axios1;
    

    不需要携带token的axios

    import axios from 'axios'
    
     var instance = axios.create({
            baseURL:'https://127.0.0.1:12000',
            timeout:6000
          })
    instance.defaults.headers.post['Content-Type'] ='application/json;charset=UTF-8'
    
    export default instance;
    
    • 最后,接受前端大神的无情嘲笑,如果有更好的办法,提议一下。哈哈~~·
    展开全文
  • token 过期实例

    2020-10-29 08:57:36
    1:我公司的token时效在生产环境设置为一个小时,当token过期,所有接口都直接返回 2:每次路由跳转都会对token进行判断,设置了一个全局的beforeEach钩子函数,如果token存在就跳到你所需要的页面,否则就直接跳转...

    这几天项目提测,测试给我提了个bug,说token过期,路由应该自动跳转到登陆页面,让用户重新登录。先说下一些前置条件,
    1:我公司的token时效在生产环境设置为一个小时,当token过期,所有接口都直接返回
    2:每次路由跳转都会对token进行判断,设置了一个全局的beforeEach钩子函数,如果token存在就跳到你所需要的页面,否则就直接跳转到登录页面,让用户登录重新存取token

    接口返回的信息
    {
    	code:10009,
    	msg:'token过期',
    	data:null
    }
    全局的路由钩子函数
    router.beforeEach(async(to, from, next) => {
    //获取token
      // determine whether the user has logged in
      const hasToken = getToken()
    
      if (hasToken) {
      //token存在,如果当前跳转的路由是登录界面
        if (to.path === '/login') {
          // if is logged in, redirect to the home page
          next({ path: '/' })
          NProgress.done()
        } else {
        //在这里,就拉去用户权限,判断用户是否有权限访问这个路由
        } catch (error) {
              // remove token and go to login page to re-login
              await store.dispatch('user/resetToken')
              Message.error(error || 'Has Error')
              next(`/login?redirect=${to.path}`)
              NProgress.done()
            }
      } else {
        //token不存在
        if (whiteList.indexOf(to.path) !== -1) {
        //如果要跳转的路由在白名单里,则跳转过去
          next()
        } else {
        //否则跳转到登录页面
          next(`/login?redirect=${to.path}`)
          NProgress.done()
        }
      }
    })
    

    所以我直接在对所有的请求进行拦截,当响应的数据返回的code是10009,就直接清空用户信息,重新加载页面。我对代码简化了下,因为用户在登录时就会把token,name以及权限信息存在store/user.js文件里,所以只要token过期,把user文件的信息清空。这样,在token过期后,刷新页面或者跳转组件时,都会调用全局的beforeEach判断,当token信息不存在就会直接跳转到登录页面

    import axios from 'axios'
    import { MessageBox, Message } from 'element-ui'
    import store from '@/store'
    import { getToken } from '@/utils/auth'
    
    const service = axios.create({
      baseURL: process.env.VUE_APP_BASE_API, 
      timeout: 5000 
    })
    //发送请求时把token携带过去
    service.interceptors.request.use(
      config => {
        if (store.getters.token) {
          config.headers['sg-token'] = getToken()
        }
        return config
      },
      error => {
        console.log(error)
        return Promise.reject(error)
      }
    )
    
    service.interceptors.response.use(
      response => {
        console.log(response.data)
        const res = response.data
    
        // token过期,重返登录界面
        if (res.code === 10009) {
          store.dispatch('user/logout').then(() => {
            location.reload(true)
          })
        }
        return res
      },
      error => {
        console.log('err' + error) // for debug
        Message({
          message: error.msg,
          type: 'error',
          duration: 5 * 1000
        })
        return Promise.reject(error)
      }
    )
    
    export default service
    
    

    好啦,关于token的分享就到这里了,以上代码根据你们项目的情况换成你们的数据,有错误欢迎指出来!

    展开全文
  • 求时token过期自动刷新token
  • axios token过期刷新

    千次阅读 2019-01-22 14:58:49
    Axios token刷新,拦截器设置 此项目是用vue做的管理报表系统,代码中的“quasar”是基于vue的框架 需求:出于安全性考虑,...login页面逻辑: 登录成功之后存储token过期时间、token window.localStorage.se...
  • 主要介绍了Android token过期刷新处理的方法示例,本文详细的介绍了2种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 下面小编就为大家分享一篇Vue 拦截器对token过期处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 需求:前后端分离状态下,登录失效(token过期)后,前端需要知道下一步是跳转到登录页面还是使用refresh_token刷新token。 这就需要后端根据是否可以刷新token(refresh_token是否过期)返回不同的标识,以供前端...
  • 使用token来维持用户登陆状态是很常见的,但应当明确后台设置的token也都是有一定期限的,假如说是7天,那么我们的用户信息的获取必然是和token相绑定的,所以不可避免的我们的Android应用会存在token过期的问题,...
  • JWT token过期自动续期解决方案

    万次阅读 热门讨论 2019-08-29 17:58:15
    JWT JWT全称JSON Web Token,由三部分组成header(头部,用于描述关于该JWT的最基本的信息,例如其类型以及签名所用的算法等)、payload(载荷,就是存放有效信息的地方,在这一部分中存放过期时间)和...token过期...
  • 关于Token过期的问题

    千次阅读 2021-01-05 18:15:34
    access_token ...在请求发起拦截每个请求,判断token的有效时间是否已经过期,若已过期,则讲请求挂起,先刷新token后再继续请求 优点:在请求前拦截,能节省请求,省流量 缺点:需要后端额外
  • 关于解决token过期失效问题

    万次阅读 多人点赞 2020-06-15 21:38:56
    关于解决token过期失效问题,用户对token无感知(实现免登陆)一、先认识下token二、整体思路三、实现步骤1.理清各个文件作用2.路由导航守卫3.封装localStorage方法4.vuex5.封装axios 实现请求拦截器和响应拦截器...
  • 主要为大家详细介绍了.Net微信开发之如何解决access_token过期问题的方法,感兴趣的小伙伴们可以参考一下
  • Android Token过期解决方案

    千次阅读 2017-11-07 16:27:28
    对开发中遇到的问题进行整理记录~~ 场景:Token验证较多的Android应用; ...需求:在Token过期后,向服务器重新获取Token并...1、服务器若能在Token过期时返回401错误码,则可以使用OkHttp提供的Authenticator接口
  • 如何解决前后端token过期问题

    万次阅读 热门讨论 2018-03-17 12:20:13
    问题描述: 首先后端生成的token是有时限的,在一段时间后不管前端用户是否进行了访问后端的操作,后端的token都会过期,在拦截器阶段就会返回错误的请求:token过期,从而拿不到想要的请求数据. 解决思路: 每隔一段时间...
  • 【请求时token过期自动刷新token】分享自 @SegmentFault 传送门: https://segmentfault.com/a/1190000016946316
  • hadoop token过期问题

    千次阅读 2018-07-08 16:38:06
    1、Token 过期问题 Failed to Update HDFS Delegation Token for long running application in HA mode参见 https://issues.apache.org/jira/browse/HDFS-9276 https://github.com/apache/spark/pull/9168错误...
  • 前端单点登录token过期前端处理

    千次阅读 2020-01-08 13:38:32
    1.token过期时间是8h,起一个setInterval间隔30m刷新一次,判断时间超过7.5h请求后台接口刷新token(会存在时间差,不靠谱) setToken('token',{token:'qwe',date:new Date().getTime()}) this.timer = setInterval...
  • token过期自动跳转到登录页面

    千次阅读 2020-03-17 14:02:45
    1:我公司的token时效在生产环境设置为一个小时,当token过期,所有接口都直接返回 2:每次路由跳转都会对token进行判断,设置了一个全局的beforeEach钩子函数,如果token存在就跳到你所需要的页面,否则就直接跳转...
  • 当我们使用在小程序中做用户登录的时候, 通常是和api 一样的, ...一般token过期了是很简单的, token过期就重新指引用户登录一下就可以了, 对就是这个解决方案, 但是,但是,微信小程序好象一般的没有登录的页面,
  • token过期的处理方案背景解决方案后端:前端 背景 现在的项目使用了vue + flask的框架,后端flask用token来做验证,但是会面临一个token过期的问题,设置过长的token过期时间或者设置一个refresh token的时间来处理...
  • 需求是这样的:请求接口A -- 服务器返回数据Token过期或失效 -- 重新请求Token并设置 -- 再去请求接口A刚解决了这个问题,趁热打铁,写个博客记录一下;这个Token是添加到请求头里面的;使用OKHTTP设置Retrofit中的...
  • 谈谈客户端对于Token过期的处理

    万次阅读 2017-06-28 16:16:39
    谈谈客户端对于Token过期的处理在当前的开发中,大多数情况下,用户登陆成功之后,会有服务端下发一个Token作为用户的身份证明,其中包含了用户的部分个人信息,在以后的请求过程中,需要将该Token作为参数或者放在...
  • 下面小编就为大家带来一篇Vue利用路由钩子token过期后跳转到登录页的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,304
精华内容 24,521
关键字:

token过期