微信Auth2.0授权的时候出现两次回调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信Auth2.0授权的时候出现两次回调相关的知识,希望对你有一定的参考价值。

在获取用户OpenID的时候

$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".WX_APPID."&redirect_uri=http://".SERVERNAME.urlencode($url)."&response_type=code&scope=snsapi_base&state=1#wechat_redirect";

这样会redirect到一个带code的url;

问题是:

会回调两次,有的说两次IP不一样,但是我查的两次IP是一样的。也就是在本地会同时出现两次调用;

两次的CODE不一样,但是都能取回OpenID.取回的OpenID是一样的。

 

今天深究这个问题,是因为不小心在页面发起两次取OpenID,这样就变成四次,

而四次,有人讲短时间内多次取OpenID就会出错,实际出现的概率也是非常大。90%以上吧。

 

所以自己的页面要严格控制,一次访问只能取一次OpenID.

现在还没想到什么办法可以解决两次回调。seesion,cookie都判断不了。

以上是关于微信Auth2.0授权的时候出现两次回调的主要内容,如果未能解决你的问题,请参考以下文章

java基于微信开发,用oauth2静默授权是,回调的url总是执行两次,怎么回事呀?

企业微信授权oauth回调慢

微信OAuth2.0授权回调页面域名设置问题

微信授权,重定向两次

微信小程序获取用户手机号码

php微信开发获取用户信息