fix: 兼容企业微信 userid 随机大小写返回

企业微信 getuserinfo 接口偶发返回 UserId 而非 userid,导致识别为企业外用户。
兼容 userid/UserId 两种 key,避免错误抛出 UNIDENTIFIED_PLATFORM。
This commit is contained in:
ADVISORY_16 2026-07-22 18:28:28 +08:00
parent c29ecbd847
commit 9fc4d2a7b6

View File

@ -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);