diff --git a/docs/dict.md b/docs/dict.md index 813ca53..af5e8ce 100644 --- a/docs/dict.md +++ b/docs/dict.md @@ -79,12 +79,10 @@ ```yaml opensabre: governance: - dictionary: - registration-token: ${DICTIONARY_REGISTRATION_TOKEN:${GOVERNANCE_REGISTRATION_TOKEN:${ERROR_CATALOG_REGISTRATION_TOKEN:}}} + registration-token: ENC(...) ``` -字典与错误码注册默认共享 `GOVERNANCE_REGISTRATION_TOKEN`。如需能力级隔离,可用 -`DICTIONARY_REGISTRATION_TOKEN` 单独覆盖;`ERROR_CATALOG_REGISTRATION_TOKEN` 保留为旧部署兼容回退。 +字典与错误码注册统一读取 Nacos 公共配置 `opensabre.governance.registration-token`,推荐使用 Jasypt `ENC(...)` 密文。 服务端使用常量时间比较,且不会在日志、响应或审计中输出凭据。未配置凭据时注册接口默认拒绝请求。 `dictCode` 的首次定义归注册应用所有。管理员维护的存量字典不会被应用自动接管, diff --git a/docs/modules/error-catalog.md b/docs/modules/error-catalog.md index fb2c8a6..a859836 100644 --- a/docs/modules/error-catalog.md +++ b/docs/modules/error-catalog.md @@ -8,12 +8,11 @@ ```yaml opensabre: - error-catalog: - registration-token: ${ERROR_CATALOG_REGISTRATION_TOKEN:${GOVERNANCE_REGISTRATION_TOKEN:}} + governance: + registration-token: ENC(...) ``` -生产环境必须配置非空的公共 `GOVERNANCE_REGISTRATION_TOKEN`,并与所有注册应用保持一致。 -如需能力级隔离,可用 `ERROR_CATALOG_REGISTRATION_TOKEN` 覆盖公共凭据。 +生产环境必须在 Nacos 公共配置中设置非空的 `opensabre.governance.registration-token`,并由所有注册应用共享。推荐使用 Jasypt `ENC(...)` 密文。 ## API diff --git a/pom.xml b/pom.xml index 0eac203..c2e52cb 100644 --- a/pom.xml +++ b/pom.xml @@ -7,11 +7,11 @@ opensabre-base-dependencies io.github.opensabre - 1.1.1 + 1.1.2 base-sysadmin - 1.1.1 + 1.1.2 jar base-sysadmin diff --git a/src/main/java/io/github/opensabre/sysadmin/dict/rest/DictController.java b/src/main/java/io/github/opensabre/sysadmin/dict/rest/DictController.java index 06fde79..91ebd7c 100644 --- a/src/main/java/io/github/opensabre/sysadmin/dict/rest/DictController.java +++ b/src/main/java/io/github/opensabre/sysadmin/dict/rest/DictController.java @@ -49,7 +49,7 @@ public class DictController { @Resource private IDictionaryRegistrationService dictionaryRegistrationService; - @Value("${opensabre.governance.dictionary.registration-token:}") + @Value("${opensabre.governance.registration-token:}") private String dictionaryRegistrationToken; /** diff --git a/src/main/java/io/github/opensabre/sysadmin/errorcatalog/rest/ErrorCatalogController.java b/src/main/java/io/github/opensabre/sysadmin/errorcatalog/rest/ErrorCatalogController.java index 29aacf5..ecce9f7 100644 --- a/src/main/java/io/github/opensabre/sysadmin/errorcatalog/rest/ErrorCatalogController.java +++ b/src/main/java/io/github/opensabre/sysadmin/errorcatalog/rest/ErrorCatalogController.java @@ -21,7 +21,7 @@ @RequestMapping("/error-catalog") public class ErrorCatalogController { @Resource private IErrorCatalogService errorCatalogService; - @Value("${opensabre.error-catalog.registration-token:}") private String registrationToken; + @Value("${opensabre.governance.registration-token:}") private String registrationToken; @PostMapping("/snapshots") public Result register(@RequestBody ErrorCatalogRegistrationRequest snapshot, @RequestHeader("X-Opensabre-Error-Catalog-Token") String token, diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c88e229..ff2d803 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -39,9 +39,6 @@ spring: maximum-pool-size: 20 # opensabre framework配置 opensabre: - governance: - dictionary: - registration-token: ${DICTIONARY_REGISTRATION_TOKEN:${GOVERNANCE_REGISTRATION_TOKEN:${ERROR_CATALOG_REGISTRATION_TOKEN:}}} sysadmin: internal-token: write-enabled: ${INTERNAL_TOKEN_KEY_WRITE_ENABLED:false} @@ -51,8 +48,6 @@ opensabre: namespace: ${REGISTER_NAMESPACE:} rotation-grace-period: ${INTERNAL_TOKEN_KEY_ROTATION_GRACE_PERIOD:5m} required-applications: ${INTERNAL_TOKEN_REQUIRED_APPLICATIONS:base-authorization,base-organization,base-sysadmin,base-gateway-admin} - error-catalog: - registration-token: ${ERROR_CATALOG_REGISTRATION_TOKEN:${GOVERNANCE_REGISTRATION_TOKEN:}} sensitive: log: enabled: false # 日志脱敏开关,默认关闭 @@ -80,6 +75,8 @@ logging: level: io.github.opensabre: debug java.sql.PreparedStatement: debug + pattern: + level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-},%X{parentSpanId:-}]' mybatis-plus: global-config: