完美解决微信公众号多域名授权登录的问题
目前微信公众平台一个公众号只能设置2个回调域名,但是我多个业务不同的域名,都需要拿到用户信息,这时一个回调域名肯定是不能解决问题的,因为公众号设置的回调域名必须要与项目域名一致,不然就会报redirect_uri域名错误。
找了好久都没有找到解决办法,今天终于完美解决。
实现思路:
中转域名地址(http://www.test.com),其他要授权的域名先去请求中转地址,并会把获取的code,state原封不动的返回到原来的地址,这样就可以用返回的code去获取access_token,从而通过access_token获取用户信息。
操作方法:
1、我们把微信授权的回调域名设置成中转域名地址(http://www.test.com)
2、把多域名授权代码放到(http://www.test.com/codetoany/文件夹下)
3、编辑codetoany/getcode.php,将变量$appId的值修改为自己的微信公众号AppId
4、修改getcode.php文件中的demo1等的url为你要进行授权的域名链接
5、在微信内或使用微信web开发者工具访问 http://www.test.com/codetoany/getcode.php?auk=demo1,顺利的话,页面将跳转到类似这样的url:http://liang.zone/?abc=123&code=0318PVx00bTFzB1JOny00YMRx008PVxS&state=STATE
6、修改需要授权域名项目的验证文件代码,修改授权链接
程序源码:https://github.com/nixing87/codetoany,感谢作者的无私奉献!