微信h5更新服务器 用户不更新,微信网页授权token刷新和缓存问题

业务场景:

目前有一个微信公众号,里面有好几个菜单,点击菜单的时候会跳转到业务页面,业务页面会去通过网页获取accesstoken的方式获取用户信息。

我们知道,微信提供了标准的oauth2.0的规范来让我们获取微信的用户信息:

业务系统------>微信oauth------用户授权带上code跳转----->业务系统---->解析code------>通过code获取accesstoken------------>通过accesstoken获取用户信息。

那么以上是我通过简单的文字描述的流程。

在获取到accesstoken的时候,它的返回值(官方列子)是这样的:

{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE"

}

access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同

expires_in access_token接口调用凭证超时时间,单位(秒)

refresh_token 用户刷新access_token

openid 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID

scope 用户授权的作用域,使用逗号(,)分隔

我们可以看到有openId,有token和refresh_token,token的默认有效时间是两个小时,当过了这个时间以后需要通过refresh_token去刷新,如果refresh_token过期了,就需要重新授权。

那么问题来了:

1.我每次通过菜单点击用业务页面的时候都是无状态的,不知道当前是哪个用户点击的菜单

2.所以在这种情况下面,就算我缓存了accesstoken,也没办法就缓冲中拿去(因为token是和用户相关的)只能每次都跳转授权接口,重新走一遍accesstoken的获取流程

请问各位有什么办法,或者我忽略了什么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni微信h5静默授权是指在用户进入uni微信H5页面时,通过微信授权接口获取用户的openid,并且不弹出授权页面让用户手动授权的一种授权方式。 实现uni微信H5静默授权获取openid的步骤如下: 1. 首先,在uni-app中引入微信JSSDK,通过在index.html中引入微信JS SDK库文件,或者通过npm安装并在main.js中引入微信JSSDK。 2. 在uni微信H5页面中编写获取openid的逻辑。可以在页面加载完成后,通过微信JSSDK提供的接口wx.config进行微信JS SDK的配置。在配置完成后,可以通过调用wx.ready函数,在ready回调函数中进行获取openid的操作。 3. 使用uni.request或uni.get请求后端接口,将微信提供的code发送至后端。 4. 后端接口需要通过微信网页授权接口,调用接口获取access_token和openid。接口调用成功后,可以把openid返回给前端。 5. 前端接收到openid后,可以进行后续的业务逻辑处理,例如用户登录、数据统计等。 需要注意的是,uni微信H5静默授权获取openid需要满足一定的条件,包括要求用户微信客户端中已经授权过且未取消授权,页面的域名需要与微信公众平台的配置一致等。 总结起来,通过微信JSSDK的配置和调用微信网页授权接口,可以实现uni微信H5静默授权获取openid的功能。这使得开发者能够更加便捷地获取用户的openid,并基于openid实现个性化的功能和服务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值