From 9fc4d2a7b6b10741639b854d4b877d750f8c3c94 Mon Sep 17 00:00:00 2001 From: ADVISORY_16 <1329564789@QQ.COM> Date: Wed, 22 Jul 2026 18:28:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=BC=E5=AE=B9=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=20userid=20=E9=9A=8F=E6=9C=BA=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E5=86=99=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 企业微信 getuserinfo 接口偶发返回 UserId 而非 userid,导致识别为企业外用户。 兼容 userid/UserId 两种 key,避免错误抛出 UNIDENTIFIED_PLATFORM。 --- .../request/AbstractAuthWeChatEnterpriseRequest.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java b/ruoyi-common/ruoyi-common-social/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java index f2a1f7b9f..3006f2c20 100644 --- a/ruoyi-common/ruoyi-common-social/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java +++ b/ruoyi-common/ruoyi-common-social/src/main/java/me/zhyd/oauth/request/AbstractAuthWeChatEnterpriseRequest.java @@ -53,10 +53,16 @@ public abstract class AbstractAuthWeChatEnterpriseRequest extends AuthDefaultReq // 返回 OpenId 或其他,均代表非当前企业用户,不支持 // https://github.com/justauth/JustAuth/issues/227 修复bug - if (!object.containsKey("userid")) { + String userId = null; + if (object.containsKey("userid")) { + userId = object.getString("userid"); + } else if (object.containsKey("UserId")) { + userId = object.getString("UserId"); + } + // 如果两种 key 都不存在,则 userId 仍然为 null,此时抛出异常 + if (StringUtils.isEmpty(userId)) { throw new AuthException(AuthResponseStatus.UNIDENTIFIED_PLATFORM, source); } - String userId = object.getString("userid"); String userTicket = object.getString("user_ticket"); JSONObject userDetail = getUserDetail(authToken.getAccessToken(), userId, userTicket);