小程序
小游戏
企业微信
微信支付
扫描小程序码分享
最终想知道的答案:是否相同的AppID、Code代表的就是同一个用户?是的话,这边就直接缓存这个Code5分钟。
问题描述:
首先:前端每次获取Code都会一定是从接口获取最新,没有缓存
本地调试一分钟内获取的Code都是不一样的
然后生产服务器日志记录发现5分钟内会返回相同Code,调用jscode2session会返回 40163 code been used
日志记录如下:时间点、请求页面都不一样的
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
目测是前端多次调用了后端接口,传了同一个code,或者是后端逻辑有问题
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
大佬,我们也遇到这个问题,本地调试都没问题,发布到线上之后就会出现授权code已被使用的情况,一开始加了个五分钟的缓存,有些用户没问题,有些新用户使用时就会有问题。前端不用缓存code是吧?
你看看前端接口,post的code重复了没。wx.login给的code都是不一样的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
目测是前端多次调用了后端接口,传了同一个code,或者是后端逻辑有问题
前端每次获取Code都会一定是从接口获取最新,没有缓存
前后端本地联调试一分钟内获取的Code都是不一样,不会出现线上日志的问题,
前端单独调试,不请求后端,反而偶尔出现微信返回给前端一样的Code
这段代码18年运行了,一直有这个问题,之前已经在后台缓存code一分钟就好一下,最近出现5分钟内都会有相同,所以问问
大佬,我们也遇到这个问题,本地调试都没问题,发布到线上之后就会出现授权code已被使用的情况,一开始加了个五分钟的缓存,有些用户没问题,有些新用户使用时就会有问题。前端不用缓存code是吧?
可能因为当时注册获取手机号需要保证sessionKey有效,同一用户短时间内比较频繁 wx.Login,就容易出现code重复情况(新用户打开小程序wx.Login一次获取openID,然后跳转到注册页又一次wx.Login)
现在获取手机号基本上用bindgetphonenumber之后,不用wx.Login获取sessionKey解密,就不会出现了。
你看看前端接口,post的code重复了没。wx.login给的code都是不一样的
前端每次获取Code都会一定是从接口获取最新,没有缓存
前后端本地联调试一分钟内获取的Code都是不一样,不会出现线上日志的问题,
前端单独调试,不请求后端,反而偶尔出现微信返回给前端一样的Code
这段代码18年运行了,一直有这个问题,之前已经在后台缓存code一分钟就好一下,最近出现5分钟内都会有相同,所以问问