最近做公司的微信公众号项目,做完后上线部署的时候发现公众号已经被另一个项目使用,这样导致我们的项目授权部分无法使用。经过一番寻找解决办法后,发现大概两种解决办法。

为什么微信公众号没有授权(微信公众号只能设置一个授权域名问题解决)(1)

1、网上有一种解决方案:http://www.cnblogs.com/lyzg/p/6159617.html

大概就是将公众号授权地址重新配置成一个通用的php页面,在页面中将回调的数据放在cookie中,然后收到微信回调后再进行一次跳转。相当于配置了一个通用的代理,负责统一处理所有的授权请求。

2、在原有的代码基础上进行判断

大概就是对state进行编码处理,然后在授权后台进行统一判断处理,收到微信授权后再次进行重定向到各自项目的授权页面。

我们采用的是第二种,因为他们原来的代码授权比较散乱,不宜修改,只能在上面不改变原来的基础兼容后续所有的授权。个人觉得这个应该是在统一的项目中进行统一授权,通过state进行区分,然后进行重定向。在设计初期应该考虑好这种扩展问题,避免后续修改。

,