微信 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108
Posted 米饭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108相关的知识,希望对你有一定的参考价值。
{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]"}
问题:微信网页授权后,获取到 openid 了,一刷新又没了
微信网页授权获取到的 code 只能使用一次(5分钟内有效),使用一次后,马上失效。
页面授权跳转成功,根据 code 也换取到 openid 了。
此时刷新页面,并不会再次进行授权,而是直接刷新了一下上一次授权跳转后的链接,带的还是上一次的 code (如果你复制当前页面的链接,会发现它就是请求授权的链接,然而,刷新的时候,它访问的并不是这个请求授权链接)。
因为上一次的 code 已经使用过,再根据这个 code 换区 openid,就会返回:{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]"}
解决方式有很多种:
方式一:获取 openid 的时候,判断一下,如果为空,则重定向去授权,这样的话,不管怎么刷新,都没关系,一定能获取到 openid (这种方式太简单粗暴,虽然这个接口没用调用次数限制,但每次都授权,总感觉压力有点大)
方式二:将 openid 放到 session 里,如果 session 里取不到,再进行授权(微信里的 session 不知道退出登录会不会断开,已知关闭程序时会断。如果换个微信登录,session 没断,就不好了。只有一个微信号,没测试过!)
方式三:将 openid 放 cookie 里,一次授权,终生可用,看你 cookie 设置的有效期是多久了(不知道换个微信号登陆,cookie 里取出的是不是还是这个,是的话,也不好了。)
以上是关于微信 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108的主要内容,如果未能解决你的问题,请参考以下文章
微信公众号问题:{"errcode":40125,"errmsg":"invalid appsecret, view more at http:/(示
关于微信创建自定义菜单教训 {“errcode”:"40016"}
微信错误{"errcode":"40013","errmsg":"invalid appid hint: [mackRA062
Java微信开发_Exception_02_"errcode":40164,"errmsg":"invalid ip 61.172.68.219, n
微信 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108
Java企业微信开发_Exception_01_"errcode":60011,"errmsg":"no privilege to access/mo