From d1099fd34e74e61d3e2c8f4df19144e6e4359349 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Wed, 22 Jul 2026 17:37:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Eimes-token=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=BB=84=E7=BB=87id=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/admin/auth/vo/AuthAppTokenReqVO.java | 7 ++++--- .../system/service/tokenconfig/TokenConfigService.java | 2 +- .../system/service/tokenconfig/TokenConfigServiceImpl.java | 7 +++++-- .../src/main/resources/message_cht.properties | 2 +- .../src/main/resources/message_en.properties | 2 +- .../src/main/resources/message_zh.properties | 2 +- .../system/controller/admin/auth/AuthControllerTest.java | 6 +++--- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthAppTokenReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthAppTokenReqVO.java index b41721a44..63f5f73b5 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthAppTokenReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/auth/vo/AuthAppTokenReqVO.java @@ -13,10 +13,11 @@ import lombok.Data; public class AuthAppTokenReqVO { /** - * system_config_token 表中存储的应用 Token + * 外部应用 Token,支持携带 imes- 前缀 */ - @Schema(description = "应用 Token", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "应用 Token,格式为 imes-{system_config_token.app_token}", + requiredMode = Schema.RequiredMode.REQUIRED, example = "imes-b91111d8ced245086edad0459a653ffd") @NotBlank(message = "{auth.appToken.notBlank}") - @Size(max = 255, message = "{auth.appToken.size}") + @Size(max = 260, message = "{auth.appToken.size}") private String appToken; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigService.java index abadcfc27..ca2020afb 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigService.java @@ -58,7 +58,7 @@ public interface TokenConfigService { Long checkTokenConfig(String token); /** - * 根据数据库中存储的应用 Token 获取所属组织编号。 + * 根据应用 Token 获取所属组织编号,支持解析 imes- 前缀。 * * @param appToken 应用 Token * @return 组织编号 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigServiceImpl.java index 0d544c20d..bfa853b9d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/tokenconfig/TokenConfigServiceImpl.java @@ -3,6 +3,7 @@ package com.cf.imes.module.system.service.tokenconfig; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.PageResult; @@ -207,13 +208,15 @@ public class TokenConfigServiceImpl implements TokenConfigService{ @Override public Long checkTokenConfig(String token) { - return getOrganIdByAppToken(token.substring(FIELD_IMES.length())); + return getOrganIdByAppToken(token); } @Override public Long getOrganIdByAppToken(String appToken) { + // 外部 Token 使用 imes-{app_token} 格式,数据库仅存储去除前缀后的 app_token。 + String databaseAppToken = StrUtil.removePrefix(appToken, FIELD_IMES); // 应用 Token 必须存在且处于有效期内,避免失效配置继续访问外部接口。 - TokenConfigDO tokenConfigDO = tokenConfigMapper.selectByToken(appToken); + TokenConfigDO tokenConfigDO = tokenConfigMapper.selectByToken(databaseAppToken); if(tokenConfigDO == null){ throw new ServiceException(TOKEN_CONFIG_NOT_EXISTS); diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties b/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties index f91e832f1..ee81ffe7e 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties +++ b/cf-module-system/cf-module-system-biz/src/main/resources/message_cht.properties @@ -110,4 +110,4 @@ assembly.config.save.structure.config.notNull=裝備設定結構配寘不能為 common.status.invalid=狀態不合法 auth.appToken.notBlank=應用 Token 不能為空 -auth.appToken.size=應用 Token 長度不能超過 255 個字元 +auth.appToken.size=應用 Token 長度不能超過 260 個字元 diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties b/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties index 8f9c35d1c..5dd11b0ea 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties +++ b/cf-module-system/cf-module-system-biz/src/main/resources/message_en.properties @@ -110,4 +110,4 @@ assembly.config.save.structure.config.notNull=Assembly setting structure configu common.status.invalid=The status is illegal auth.appToken.notBlank=Application Token cannot be blank -auth.appToken.size=Application Token cannot exceed 255 characters +auth.appToken.size=Application Token cannot exceed 260 characters diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/message_zh.properties b/cf-module-system/cf-module-system-biz/src/main/resources/message_zh.properties index feceaa1cf..3a106b816 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/message_zh.properties +++ b/cf-module-system/cf-module-system-biz/src/main/resources/message_zh.properties @@ -110,4 +110,4 @@ assembly.config.save.structure.config.notNull=装备设置结构配置不能为 common.status.invalid=状态不合法 auth.appToken.notBlank=应用 Token 不能为空 -auth.appToken.size=应用 Token 长度不能超过 255 个字符 +auth.appToken.size=应用 Token 长度不能超过 260 个字符 diff --git a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/controller/admin/auth/AuthControllerTest.java b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/controller/admin/auth/AuthControllerTest.java index 47504126f..dd93bcf88 100644 --- a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/controller/admin/auth/AuthControllerTest.java +++ b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/controller/admin/auth/AuthControllerTest.java @@ -208,15 +208,15 @@ class AuthControllerTest extends BaseWebUnitTest { @Test void testGetOrganIdByAppToken() throws Exception { - when(tokenConfigService.getOrganIdByAppToken("test-app-token")).thenReturn(100L); + when(tokenConfigService.getOrganIdByAppToken("imes-test-app-token")).thenReturn(100L); mockMvc.perform(post("/admin-api/system/auth/app-token/organ-id") .contentType(MediaType.APPLICATION_JSON) - .content("{\"appToken\":\"test-app-token\"}")) + .content("{\"appToken\":\"imes-test-app-token\"}")) .andExpect(status().isOk()) .andExpect(jsonPath("$.data").value(100L)); - verify(tokenConfigService, times(1)).getOrganIdByAppToken("test-app-token"); + verify(tokenConfigService, times(1)).getOrganIdByAppToken("imes-test-app-token"); } @Test