Appearance
问题现象
用户在微信小程序端登录或授权手机号时,页面弹出错误提示: 获取session_key失败,请检查您的配置、code2Session failed 或 errcode: 40029 / 40125。
根本原因与排查步骤
该错误是 EBAOZU 后端在调用微信官方接口 https://api.weixin.qq.com/sns/jscode2session 时,微信服务器返回了错误应答。
检查小程序 AppID 与 AppSecret 一致性(最常见)
- 现象:微信返回
errcode: 40029 (invalid code)或40125 (invalid appsecret)。 - 根本原因:
- 微信开发者工具中当前导入的小程序项目的 AppID 与 EBAOZU 后台配置的小程序 AppID 不一致。
- 微信公众平台重新生成了新的 AppSecret,但 EBAOZU 后台未同步更新。
- 解决办法:
- 打开微信开发者工具右上角【详情】 -> 【基本信息】,查看正在运行的小程序 AppID。
- 登录平台总后台 -> 【设置】 -> 【小程序配置】,核对 AppID 和 AppSecret 是否与微信公众平台完全一致。
- 修改后保存并重启 Swoole 守护进程。
检查微信公众平台 IP 白名单设置
- 现象:
errcode: 40164 (invalid ip)。 - 解决办法:若微信小程序后台开启了 API 接口安全 IP 白名单,需将部署 EBAOZU 系统的服务器公网 IP 添加到微信小程序的 IP 白名单列表中。
检查服务器出网连接与 SSL 根证书
- 排查:后端服务器需要能够正常通过 HTTPS 访问微信官方 API 域名(
api.weixin.qq.com)。 - 测试:在服务器终端中执行以下命令测试连通性:bash若连接超时,请排查服务器安全组或 DNS 配置是否正常。
curl -I https://api.weixin.qq.com