vue移动端从第三方登录访问项目,路径携带token自动登录

问题描述

最近有一个项目需要从“随申办”登录,角色权限分三种,每种身份的人进去需要跳到不同的首页。
因为实在随申办登录过的,所以系统不需要专门的登录页让用户进行二次登录,需要直接进入系统。

思路:

后端从“随申办”拿到用户登录的token返回给前端,前端在初次进入各角色首页时拿到url上的token参数进行自动登录,登录成功后把token存在本地,把url上携带的token去掉(防止用户返回到首页的时候再次登录,此时token已失效)

代码

main.js中封装公共方法

Vue.prototype.reLogin = (token,path) => {
  localStorage.setItem('rc_token', token)
  axios.get('后端登录接口', {}, res => {
    localStorage.setItem('token', res.token)
    location.replace(path) // 将url中的token参数去掉,其实就是指向了新地址
  })
}

页面中使用

let hrefParam = location.href.split('?')[1]
    if(hrefParam){ // 交换token
      this.reLogin(hrefParam.split('=')[1], '/home')
 }

大功告成!!!这样初次进入页面就可以携带token直接登录啦,登录成功后即使返回首页也不会重新登录出现“token失效”问题了

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值