微信小程序button授权的一些问题

我想问的是。现在后台是用三个参数 换取用户加密之后的token。
一个是通过wx.login获取的code
另外两个是通过wx.getUserInfo获取的iv和 encryptedData。
三个参数换取token
问题来了。
假如我现在获取了并且拿到了这个token 。 并且保存在本地,用户每次进来就直接用这个token就好了,不用再掉api了
那什么时候token会失效呢,我不信他永远都能用。
微信授权肯定也会过期吧。wx。login拿到的code也就一定不会变吗?
这三个参数有一个失效了,那后台返给我的token不说就不能用了。

我现在的做法是通过微信api,拿到用户有没有授权。没有走整个流程。
或者,后台api字段返回给我错误码,我再重新获取用户令牌。不知道这样做可行不可行

你们是 怎么处理的呢,说说你们的做法和见解,最好前后说多一些业务处理后台不是很了解可以说下大概都做了什么,

阅读 2.1k
2 个回答

login拿到的code也就一定不会变吗?

不是“一定不会变吗”,而是“一定会变”!
每次获取的code那些都是会变的,通过微信给的算法和后端接口才能获取到openid和unionid,这两个才是不会变的。

这两个东西拿来做什么呢?
就是拿来“自动登录”的,判断是来自微信的某个用户后,返回自己定义的 token,以后每次认证用户信息的时候用这个 token,设个有效期,过期后重新通过code换openid/unionid,再换token。

一楼正解。
再稍微补充下,code字符串是每次都变化的而且串每次只能用一次,把code发送到后台拿code去微信接口换openid和sessionkey,生成自己定义的token,返回缓存到小程序,用来校检。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题