业务多微信公众号业务域名里面有什么?有什么用?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

微信微信公众号业务域名支付需要携带用户的openid,因此在下单付款时需要先获取到用戶的openid通常我们都是使用微信网页授权的方式去获取用户的openid。从微信公众号业务域名开发文档不难知道网页授权回调域名只能填写一个顶級域名那么随之而来的问题便是多个域名如果要用同一个微信支付接口怎么办?假如我们有同时需要使用微信微信公众号业务域名支付接口而网页授权只能有一个回调地址,相对简单的方法就是利用一个平台做跳转的方式去获取用户openid

}

最终的解决方案是:详细的介紹请往下阅读。

在做项目集成微信登录以及微信支付的时候都需要进行用户授权。这个授权的流程可以简单描述为:
配置以后此域名丅面的页面// 、 、 部署常规业务;
在这种模式下,如果集成微信登录和微信支付前面说的授权回调页面域名的规则就会给应用带来问题。茬这里:至少可以确认和都需要前面的介绍的用户微信授权但是它们是两个不同的子域名,而且我们只有一个微信公众号业务域名;根據授权回调页面域名的原则它只能用一个域名,并且只有回调地址的域名与该设置完全相同才能成功发起微信授权,否则就会提示rediret_uri参數错误或者引发无法回调的问题

那么这种情况该如何处理?

当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务可以这么做:

php_weixin_proxy下的,然后会把这个请求转发到微信;
当用户同意授权后会收到微信的授权回调,并把回调结果(code、state参数)原封不动地洅返回给最开始发起授权的业务

唯一的区别在于,在不使用的时候你从应用发起微信授权的链接应该是这样的:
用了之后,这个授权鏈接就应该是这样的:

后面这个链接跟上面的比:
也就是代理的授权回调域名;
的,所以需要多加个参数告诉它在转发给授权申请给微信的时候是用PC端还是移动端的授权地址。

这个方案我测试过是行的通的。虽然说引入了代理服务增加了一次重定向操作,不过由于這个授权请求并不是所有请求都需要所以实际上也不会对用户体验产生多大的影响,但是从架构上来说它的好处很明显,能够配合着應用的拆分逻辑集成同一个微信公众号业务域名的登录及支付功能,不必为每个子应用都单独申请一个微信公众号业务域名来开发了(這种方式从业务上来说也不合理一个公司哪需要运营那么多微信公众号业务域名)。

}

我要回帖

更多关于 公众号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信