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: