ThinkPHP微信授权登录多域名回调解决方案

微信授权登录的多域名问题,确实挺让人头疼的。尤其是微信只让设置一个回调域名,一旦你系统跑在多个子域名或环境里,那就麻烦大了。

这个基于ThinkPHP的源码就挺实用的,专门微信授权登录只能设置一个回调域名的限制,登录逻辑也都搭好了,基本上拎过来改一改就能用。

核心思路是:通过传参的方式,把当前的求域名带过去,等微信授权回调时再解析这个域名,动态找到对应的配置和逻辑,灵活多了。Redis也用上了,用来缓存access_token,省得老是求微信接口,速度也上来了。

控制器里你可以看到完整的流程:引导跳转授权、接收code、换access_tokenopenid,调微信的用户信息接口。这些操作封装得还挺清爽,逻辑分层也比较清晰,TP 的 MVC 结构发挥得不错。

使用的时候注意几个点:
1. 回调参数要好,别被微信吞了
2. 多环境配置别硬写在代码里,用配置文件或者 Redis 做映射比较灵活
3. 登录成功后的会话管理别忘了,可以用sessioncookie或者 JWT,看项目需求

如果你正好在做多端或多环境下的微信授权登录,这套方案真的蛮合适的。比自己从头撸逻辑省事多了,省时还省坑。

zip 文件大小:752KB