修复: FR-S1 api_key IPC mask + 编辑不回填(防前端拿明文,P0 安全)
- ai_list_providers: 返回前 mask api_key(首尾各4+••••),IPC 不传明文给前端 realm - ai_save_provider: api_key 空(编辑不改)→保留原 DB 值 - Settings: 编辑不回填 apiKey(留空=不改) + saveProvider 校验编辑时 apiKey 可空 - 注:DB 仍明文存储(c,keyring 加密存储)留迁移单列;本轮解 IPC 传明文 + 前端 realm 持有明文 来源 fullstack-review §2 P0 安全;cargo/vue-tsc 0 err
This commit is contained in:
@@ -443,7 +443,7 @@ function openProviderForm(p?: AiProviderConfig) {
|
||||
providerForm.editId = p.id
|
||||
providerForm.name = p.name
|
||||
providerForm.baseUrl = p.base_url
|
||||
providerForm.apiKey = p.api_key
|
||||
providerForm.apiKey = '' // 编辑不回填 api_key(list 返回 mask,留空=不改,FR-S1)
|
||||
providerForm.defaultModel = p.default_model
|
||||
providerForm.providerType = p.provider_type || 'openai_compat'
|
||||
} else {
|
||||
@@ -458,7 +458,9 @@ function openProviderForm(p?: AiProviderConfig) {
|
||||
}
|
||||
|
||||
async function saveProvider() {
|
||||
if (!providerForm.name || !providerForm.baseUrl || !providerForm.apiKey || !providerForm.defaultModel) {
|
||||
// apiKey:新建必填;编辑可留空(不改,FR-S1 后端保留原 DB 值)
|
||||
const needKey = !providerForm.editId
|
||||
if (!providerForm.name || !providerForm.baseUrl || (needKey && !providerForm.apiKey) || !providerForm.defaultModel) {
|
||||
showToast(t('settings.toastSaveIncomplete'), 'warning')
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user