微信登录失败:redirect_uri域名与后台配置不一致,错误码:10003
2026/6/10 18:41:36 网站建设 项目流程

报错根本原因

redirect_uri 域名与后台配置不一致,错误码:10003意思是:你在代码里传的回调地址redirect_uri,和微信公众号后台「网页授权域名」里配置的不一致!


🔍 你现在的情况

你用了短链接crm2.yunyang.com/admin/wxgo/xxx,它会跳转到微信授权链接里的redirect_uri,微信会做两次域名校验:

  1. 第一次:短链接域名crm2.yunyang.com必须在「网页授权域名」里配置
  2. 第二次:最终回调地址(你代码里的$callback)的域名也必须在「网页授权域名」里配置

微信的规则是:授权流程中出现的所有域名,都必须在公众号后台配置的「网页授权域名」列表里


✅ 终极修复步骤(按顺序来)

1. 先把你的短链接域名加到微信公众号后台

  1. 登录 微信公众平台
  2. 进入你的公众号 →设置与开发公众号设置功能设置
  3. 找到网页授权域名,点击「修改」
  4. 把你的域名crm2.yunyang.com加进去(注意:不要带 http/https,也不要带路径
    • 正确格式:crm2.yunyang.com
    • 错误格式:http://crm2.yunyang.comcrm2.yunyang.com/admin
  5. 上传微信给你的验证文件到服务器根目录,完成验证

2. 再确认你的代码里的redirect_uri格式

你代码里的$callback必须是:

  • 完整的http://https://开头
  • 域名必须和上面配置的完全一致
  • 必须用urlencode()编码

php

运行

// 正确示例 $callback = request()->domain() . '/admin/system/callback'; $wechatUrl = "https://open.weixin.qq.com/connect/oauth2/authorize" . "?appid=" . $appid . "&redirect_uri=" . urlencode($callback) // ✅ 必须 urlencode . "&response_type=code" . "&scope=snsapi_userinfo" . "&state=" . $admin_id . "#wechat_redirect";

3. 特别注意:短链接跳转的坑

因为你用了短链接,微信会校验两次域名

  • 第一次:扫码访问的短链接域名crm2.yunyang.com
  • 第二次:跳转到微信授权页后,redirect_uri里的域名

所以你需要确保:

  • 两个域名(短链接域名 + 回调域名)都在公众号后台配置了
  • 如果是同一个域名,配置一次即可

常见的错误点

  1. 域名配置带了协议头:微信后台里不能写https://crm2.yunyang.com,只能写crm2.yunyang.com
  2. 回调地址没有 urlencoderedirect_uri必须用urlencode()编码,否则微信识别错误
  3. 短链接域名没有配置:只配置了回调域名,没配置短链接域名,导致第一次跳转就报错
  4. 环境不一致:比如本地开发用了192.168.1.19,线上域名没配置,就会报错

快速验证方法

你可以直接在浏览器里访问微信授权链接,看返回的错误信息:

plaintext

https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=你urlencode后的回调地址&response_type=code&scope=snsapi_userinfo&state=1

如果还是 10003,说明redirect_uri里的域名没配置;如果能跳转到微信授权页,说明配置没问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询