昨天一个用了快三年的项目,突然客服报出一个错误,反应说安卓版微信授权进不去公众号页面,苹果手机的微信和电脑版都可以
坑坑坑!!!
同log日志,发现点击一个授权,微信接口平台方面用不同的ip向同一个redirect_uri发送了相同的code参数,这个code参数只能用一次,用于获取access_token和openid;
检查要点
1:redirect_uri是否有urlencode处理
2:用session记录code,进行验证是否code已经使用
3:在授权链接尾部添加一个&connect_redirect=1的参数:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd84d9cb4875236c9&redirect_uri=http%3A%2F%2F2a20h48668.imwork.net%2Fweixin%2FUserInfoCallback%3FreturnUrl%3D%252FWeixinJSSDK%252Findex&response_type=code&scope=snsapi_userinfo&state=JeffreySu-954&connect_redirect=1#wechat_redirect