4 Commits

Author SHA1 Message Date
Your Name 9bae6b1d9b youhua 2026-07-25 00:09:24 +08:00
cnbugs 6498903a7c fix: credential data corruption - Create handler mutating store pointer
- CreateCredential was setting cred.Data = cred.Masked directly on the
  store pointer, corrupting stored credentials with masked data
- Fixed by using a value copy for API response
- Also fix nextID starts at 1 to avoid ID=0 issue
2026-07-24 19:16:35 +08:00
cnbugs 471fe76384 fix: credential ID starts from 1 to avoid ID=0 issue
- InitCredentialStore nextID defaults to 1
- Auto-migrate existing ID=0 credentials on load
- Add public Save() method for migration persistence
2026-07-24 19:13:26 +08:00
cnbugs bdb3ca856f feat: add DNS credential management with Web UI
- New config/credential_store.go: persistent credential storage (credentials.json)
- New API: CRUD for DNS credentials + credential-types endpoint
- Certificate model now supports credential_id reference
- Create certificate auto-resolves credential_id to DNS config
- New Vue page: Credentials.vue for managing saved DNS keys
- CertCreate.vue: select existing credential or manual input + save as new
- Secrets masked in API responses, never exposed in list
2026-07-24 18:56:03 +08:00