前言
最近在做微信网页项目时,发现服务号授权域名只能有两个,而多个项目都需要用到微信授权获取用户信息,这就导致了域名不够用的问题。如果给每个项目都配一个服务号,这显然是不现实的,不仅需要成本而且很浪费资源。通过思考以及网络查找之后,总结出了以下方法:
通过中间页面代理获取微信授权code,然后跳转到对应需要使用授权的项目上
一、在已授权的域名目录下,添加授权代理中间页
在已授权的域名目录下(根目录,子目录都可以),添加授权代理的中间页B。假如页面A需要使用微信授权,而此时授权域名已经满了,不够用了。此时就到了授权代理中间页B出场了。
在页面A一加载时就跳转到中间页B,window.location.href = “中间页B”,需要注意的是,在中间页B中,里面的redirect_uri写的是上图中写的用于获取code后的页面==(其他网上的说法是,redirect_uri写的是需要授权的页面,而我尝试了之后,发现redirect_uri参数错误,估计是该域名没有授权的问题)==,所以需要用一个转发页代理,从而获取code。
二、在已授权的域名目录下,添加一个用于获取code之后转发的页面
在第一步,用户一打开页面A