分支
用户 liu <2021943741@qq.com>
星期三, 九月 30, 2026 14:27 +0800
提交者 liu <2021943741@qq.com>
星期三, 九月 30, 2026 14:27 +0800
提交365a1a1eacc425c858a661b7ffa14a7270bb1634
目录 74fcf37653e7a25b8a37728b6743d6c9e5909010 目录 | zip | gz
上一版本 91491239c5d4611b5b1404a7abeb2bb23d0edad5 查看 | 对比
fix(auth): 修复企业微信扫码登录换 profile 必抛空指针,并给自动注册账号绑默认角色

- justauth 占位配置从 application-local.yaml 上移到 application.yaml:
AuthRequestFactory 由 @ConditionalOnProperty(matchIfMissing = true) 无条件创建,
配置缺失不等于关闭社交登录,而是请求时回落到 justauth.extend(默认 null)
直接抛 NPE,且只有 local 配过,换 dev/test 等 profile 企业微信登录必炸
- 补上 ignore-check-redirect-uri: true:redirect-uri 刻意不写死(由前端动态传、
后端用 HttpUtils.replaceUrlQuery 替换),而 JustAuth 构造 AuthRequest 时会调
AuthChecker.checkConfig,开关没开会抛 Illegal redirect uri
- AuthRequestFactory.get() 增加 extend 判空守卫,缺配置时抛可读的 AuthException,
不再让调用方拿到 500 NPE
- 企业微信扫码自动注册的账号绑定默认角色 wxcp_user:不绑的话能登录但没有菜单,
进去一片空白且不报错,很难定位。按角色编码而非编号查找,换库不会静默失效;
角色不存在时只打警告不阻断登录
- 同步更新登录联调文档的部署配置清单

Co-Authored-By: Claude <noreply@anthropic.com>
已修改5个文件
126 ■■■■■ 文件已修改
docs/wxcp_login_integration.md 23 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/core/AuthRequestFactory.java 7 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java 42 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-server/src/main/resources/application-local.yaml 17 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-server/src/main/resources/application.yaml 37 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史