此贴仅帮助那些遇到公众号微信网页授权【之前好好的】【突然】【频繁】【偶尔】【间歇性】【自查无解】报40029,invalid code问题的人。
如果你因为这个问题发贴,官方是无法解决你问题的,因为官方只回复【1:code过期2:code重复使用3:code错误4:code和appid不匹配,code不是对应appid生成的】,然后让你自查!!!
这时你会发现,社区里面出现大量这种用户发贴提这个问题的,没有任何一个人得到解决,所以,最终这个问题你根本找不到解决方案。
当然,我也是身受其害的,我想竟然这么多人出现这个问题,官方又坚信没有没问题,那必有非正常情况导致出现的原因。但是,经过辗转反侧,我突然发现了其中的奥秘,我必须把这个神秘的问题以我的经验告诉大家。
【当然,我先申明,出现这个问题可能不是因为我说的这个原因,但我觉得这个原因很大】
原因就是:会有一批腾讯云的ip频繁的请求你的网页授权回调域名,并且,请求的url和参数是之前正常用户请求过的,一般在几个小时之后再请求你,所以,你收到的code就是过期的,这就是为什么官方一直说你的code过期,但你不认为你的程序会使用过期的code
我也正在向腾讯云咨询为什么会有一批ip来用之前的url请求我,目前还没有得到回复。
解决方案就是,临时将这批ip拉黑,或者过段时间可能他就不会来请求你了【这就是为什么有人说突然就没出现了】
不要总想把逻辑写成永远code无过期的事件发生
而是,有过期就过期呗,发现过期就按过期处理。
代码里加一段code过期的处理代码,完事。