🐛 修复小程序令牌严格校验 401,并开放调度端打卡接口

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-12 14:47:17 +08:00
parent c3edca04a5
commit ea1829cd75
4 changed files with 41 additions and 19 deletions
@@ -30,11 +30,11 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.core.oauth2.endpoint.OAuth2TokenEndPoint;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.pojo.enums.MpUserIdentity;
import org.springblade.system.utils.MpUserAuth;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
@@ -74,7 +74,7 @@ public class OAuth2UserInfoResponseAdvice implements ResponseBodyAdvice<Object>
if (userInfo == null) {
return body;
}
if (isMpUser(bladeUser)) {
if (MpUserAuth.isMpUser(bladeUser)) {
// 小程序用户:按身份直接生成权限,不走系统角色菜单
userInfo.setPermission(MpUserIdentity.toPermissions(bladeUser.getRoleName()));
} else {
@@ -83,17 +83,6 @@ public class OAuth2UserInfoResponseAdvice implements ResponseBodyAdvice<Object>
return userInfo;
}
private boolean isMpUser(BladeUser bladeUser) {
Kv detail = bladeUser.getDetail();
if (detail != null && MpUserIdentity.DETAIL_TYPE.equalsIgnoreCase(Func.toStr(detail.get("type")))) {
return true;
}
// 兼容:无系统角色且 roleName 为小程序身份
return Func.isBlank(bladeUser.getRoleId())
&& Func.isNotBlank(bladeUser.getRoleName())
&& !MpUserIdentity.split(bladeUser.getRoleName()).isEmpty();
}
private List<String> loadPermission(String roleId) {
if (Func.isBlank(roleId)) {
return Collections.emptyList();