在做微信公众平台网页授权时,发现每次请求授权链接
/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
时都会重定向链接redirect_uri都会自动请求两次,由于并发导致了一些问题,
{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest, hints: [ req_id: PSp.LA0036s182 ]"}
也可能为
"errcode":40163,"errmsg":"codebeenused 微信受权错误:"errcode":40163,"errmsg":"codebeenused
那么,为什么会请求两次呢?,调试时发现会访问两次,一次是301,页面重定向了,第二次跟第一次就也是相通的滤镜进行重定向。因为重定向请求了两次,所以会提示code已经被使用。没有获取oppenID,因为还没绑定开放平台。加上后,不再报错。code 可以了。
后来发现只要加个属性就不会有这个问题了。
/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect
&connect_redirect=1 这个参数非常重要!!!!!!