feat(system): Builder API Key 等配置前端显示完整值
- 后端 SystemConfigService 返回解密后的完整 builderApiKey/Secret/Passphrase,不再脱敏 - 移除未使用的 maskSensitiveValue 方法 - 更新 DTO 与前端类型注释为「完整显示」 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -68,9 +68,9 @@ data class SystemConfigDto(
|
|||||||
val builderApiKeyConfigured: Boolean, // Builder API Key 是否已配置
|
val builderApiKeyConfigured: Boolean, // Builder API Key 是否已配置
|
||||||
val builderSecretConfigured: Boolean, // Builder Secret 是否已配置
|
val builderSecretConfigured: Boolean, // Builder Secret 是否已配置
|
||||||
val builderPassphraseConfigured: Boolean, // Builder Passphrase 是否已配置
|
val builderPassphraseConfigured: Boolean, // Builder Passphrase 是否已配置
|
||||||
val builderApiKeyDisplay: String? = null, // Builder API Key 显示值(部分显示,用于前端展示)
|
val builderApiKeyDisplay: String? = null, // Builder API Key 显示值(完整,用于前端展示)
|
||||||
val builderSecretDisplay: String? = null, // Builder Secret 显示值(部分显示,用于前端展示)
|
val builderSecretDisplay: String? = null, // Builder Secret 显示值(完整,用于前端展示)
|
||||||
val builderPassphraseDisplay: String? = null, // Builder Passphrase 显示值(部分显示,用于前端展示)
|
val builderPassphraseDisplay: String? = null, // Builder Passphrase 显示值(完整,用于前端展示)
|
||||||
val autoRedeemEnabled: Boolean = true // 自动赎回(系统级别配置,默认开启)
|
val autoRedeemEnabled: Boolean = true // 自动赎回(系统级别配置,默认开启)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
+4
-17
@@ -25,19 +25,6 @@ class SystemConfigService(
|
|||||||
const val CONFIG_KEY_BUILDER_SECRET = "builder.secret"
|
const val CONFIG_KEY_BUILDER_SECRET = "builder.secret"
|
||||||
const val CONFIG_KEY_BUILDER_PASSPHRASE = "builder.passphrase"
|
const val CONFIG_KEY_BUILDER_PASSPHRASE = "builder.passphrase"
|
||||||
const val CONFIG_KEY_AUTO_REDEEM = "auto_redeem"
|
const val CONFIG_KEY_AUTO_REDEEM = "auto_redeem"
|
||||||
|
|
||||||
/**
|
|
||||||
* 遮蔽敏感信息,仅显示前4位和后4位
|
|
||||||
* 例如:abcd1234...wxyz5678
|
|
||||||
*/
|
|
||||||
fun maskSensitiveValue(value: String?): String? {
|
|
||||||
if (value == null) return null
|
|
||||||
return when {
|
|
||||||
value.length <= 8 -> "****" // 太短则完全遮蔽
|
|
||||||
value.length <= 16 -> "${value.take(2)}...${value.takeLast(2)}"
|
|
||||||
else -> "${value.take(4)}...${value.takeLast(4)}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -49,10 +36,10 @@ class SystemConfigService(
|
|||||||
val builderPassphrase = getConfigValue(CONFIG_KEY_BUILDER_PASSPHRASE)
|
val builderPassphrase = getConfigValue(CONFIG_KEY_BUILDER_PASSPHRASE)
|
||||||
val autoRedeem = isAutoRedeemEnabled()
|
val autoRedeem = isAutoRedeemEnabled()
|
||||||
|
|
||||||
// 获取遮蔽后的显示值(仅显示部分字符,用于前端确认配置)
|
// 获取完整显示值(用于前端展示与编辑)
|
||||||
val builderApiKeyDisplay = builderApiKey?.let {
|
val builderApiKeyDisplay = builderApiKey?.let {
|
||||||
try {
|
try {
|
||||||
maskSensitiveValue(cryptoUtils.decrypt(it))
|
cryptoUtils.decrypt(it)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
@@ -60,7 +47,7 @@ class SystemConfigService(
|
|||||||
|
|
||||||
val builderSecretDisplay = builderSecret?.let {
|
val builderSecretDisplay = builderSecret?.let {
|
||||||
try {
|
try {
|
||||||
maskSensitiveValue(cryptoUtils.decrypt(it))
|
cryptoUtils.decrypt(it)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
@@ -68,7 +55,7 @@ class SystemConfigService(
|
|||||||
|
|
||||||
val builderPassphraseDisplay = builderPassphrase?.let {
|
val builderPassphraseDisplay = builderPassphrase?.let {
|
||||||
try {
|
try {
|
||||||
maskSensitiveValue(cryptoUtils.decrypt(it))
|
cryptoUtils.decrypt(it)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -932,9 +932,9 @@ export interface SystemConfig {
|
|||||||
builderApiKeyConfigured: boolean
|
builderApiKeyConfigured: boolean
|
||||||
builderSecretConfigured: boolean
|
builderSecretConfigured: boolean
|
||||||
builderPassphraseConfigured: boolean
|
builderPassphraseConfigured: boolean
|
||||||
builderApiKeyDisplay?: string // Builder API Key 显示值(部分显示)
|
builderApiKeyDisplay?: string // Builder API Key 显示值(完整)
|
||||||
builderSecretDisplay?: string // Builder Secret 显示值(部分显示)
|
builderSecretDisplay?: string // Builder Secret 显示值(完整)
|
||||||
builderPassphraseDisplay?: string // Builder Passphrase 显示值(部分显示)
|
builderPassphraseDisplay?: string // Builder Passphrase 显示值(完整)
|
||||||
autoRedeemEnabled: boolean // 自动赎回(系统级别配置,默认开启)
|
autoRedeemEnabled: boolean // 自动赎回(系统级别配置,默认开启)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user