uni 登录token方法_uni-app 无痛刷新 token 方法

本文详细介绍了在uni-app中实现无痛刷新token的方法,包括在接收到401状态码时如何利用refreshToken获取新token,并重新请求接口以确保用户体验流畅。文章还提到了使用特定uni-app插件的配置和接口调整,以及处理各种错误状态码的策略,如402和403。最后,提供了一个刷新token的函数示例。
摘要由CSDN通过智能技术生成

为了给用户一个流畅的体验, token 过期后需要重新请求新的 token 替换过期的 token

前端在请求接口时,和后端定义好了,如果状态码为 401 ,则表明 token 过期,需要前端请求新的 token

大概流程如下:

1.用户登录之后,后端会返回两个 token ,分别为 accessToken 和 refreshToken 存储到 Storage

平时请求数据时,请求头使用 accessToken 来发送接口

2.当返回401 token 过期后, 我们通过接口向后端获取新的 token ,请求参数为 refreshToken

3.我们拿到新的 accessToken 和 refreshToken 之后, 替换掉之前的 Storage 中存储的 token

4.同时还要将我们报 401 的哪个接口 ,使用新的 accessToken ,重新请求一次, 拿到数据,实现无痛刷新 token

5.如果后端返回的新的 token 也无法使用,表明需要重新登录,跳到登录页(这一步可以灵活使用,我个人用的是一个路由插件配合使用的: https://ext.dcloud.net.cn/plugin?id=578)

配合uni-app的插件进行使用和实现:

到uni-app的插件市场下载封装的request网络请求,按照文档配置到自己的项目上

配置好后修改 vmeitime-http 文件夹下的  index.js 文件

再修改 vmeitime-http 文件夹下的  interface.js 文件,将401状态暴漏出来

如果看到这里还是看不明白,那么请看我的源码,请注意我使用了两个插件,

uni-app 是一款跨平台应用开发框架,既支持生成 App,也支持生成各个平台的小程序,其中与微信小程序的授权方法有一些不同。 首先,对于 App 来说,可以使用 uni-app 提供的登录模块,该模块支持微信、支付宝等第三方平台的授权登录。对于微信授权登录,可以通过以下步骤实现: 1. 在 uni-app 的项目中安装并引入 uni-login 模块:`npm install @dcloudio/uni-login` 2. 在需要授权的面中,添加登录按钮或其它触发授权的元素。 3. 在点击登录按钮的事件处理函数中,调用 uni.login 方法进行微信登录授权。 4. 在 uni.login 的回调中,可以通过返回的 code 或 token 等信息进行登录验证、获取用户信息等操作。 而对于生成微信小程序,uni-app 也提供了相关的授权方式。在 uni-app 中,可以使用 openid 和 unionid 来进行用户标识和登录验证。具体的授权方法如下: 1. 在微信小程序的 app.json 文件中,将 `"appid"` 字段设置为你的小程序的 AppID。 2. 在 uni-app 的项目中引入并使用 uni.login 方法,通过该方法登录获取 code。 3. 将获取到的 code 发送至后台,后台通过 code 调用微信的 API 获取 openid 和 session_key。 4. 后台获取到 openid 和 session_key 后,可以将其存储在数据库中,用于用户标识和登录验证。 总之,无论是在 uni-app 生成 App 还是小程序,都可以通过 uni-login 模块实现微信授权登录。对于 App,可以直接使用登录模块进行授权;对于小程序,可以通过 openid 和 session_key 实现用户标识和登录验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值