很多网页和应用都涉及到微信登录和微信支付,而如果你的业务入口是在微信里,那你的网址是要通过公众号授权,然后才能接入微信登录或者微信支付。
背景:
这是一款彩虹开发基于ThinkPHP6.0框架的微信公众号多域名回调系统。
微信公众号后台默认只能授权2个网页域名,用本系统可突破这个限制,用同一个公众号对接无限多个网站。网站后台支持回调域名白名单的管理,以及登录记录的查看。
本系统还有微信access_token的获取功能,可让当前站点作为中控服务器统一获取和刷新access_token,其他业务逻辑站点所使用的access_token均调用当前站点获取,这样可避免各自刷新造成冲突,导致access_token覆盖而影响业务。
部署方法:
· 运行环境要求PHP7.4+,MySQL5.6+
· 设置网站运行目录为public
· 设置伪静态为ThinkPHP
· 访问网站,会自动跳转到安装页面,根据提示安装完成
· 访问 /admin 进入后台管理
· 需要对业务代码进行一定修改,具体可以点“帮助”按钮查看
这个系统部署起来非常简单,使用起来逻辑也很清晰。其实就是通过搭建一个中转网站,替换官方微信平台的通用api地址,这样就能获取access_token
但是要真正运用起来,作者也说了:
需要对业务代码进行一定修改
也就是你的网站源码里要修改点东西,因为模板里一般写死了官方API的地址,比如:open.weixin.qq.com 或api.weixin.qq.com
你需要找到你的业务网站里的相应代码,然后替换成这套:微信公众号多域名回调系统的网址
站长已经提供修改了几个知名的网站框架的代码位置,亲测可用。在附件里提供下载(微擎、彩虹易支付、日主题RiproV2.,也会后续更新)
此处内容需要权限查看
原理:
微信公众号多域名回调系统本质就是提供一个“桥梁”域名,“桥梁”域名是什么意思呢?我简单说下我的思路:
1、第一步先让微信公众号网页授权一个M域名,M域名作为一个桥梁过渡。
2、将M域名成功获得授权后,根据需要再授权给域名A,域名B,域名C等。这些A、B、C等域名获得M域名授权之后,进行授权回调。然后再有M域名统一向微信进行请求授权,然后回调。
可能说的有点太抽象了,不太好理解,那么我用一个图来表达下,大家就一目了然了。
转载注意保留原文链接:https://www.tqge.com/205258