Commit Graph

12 Commits

Author SHA1 Message Date
559970c5b7 feat: one account can bind both netease + skin identities
- db: user_identities table (UNIQUE user_id+source), migrate backfill from users
- auth: GET/POST/DELETE /api/auth/identities - bind/unbind/list identities
  (netease requires UID, one per source, name uniqueness, keep >=1)
- register/external/plugin/admin-created users auto-write primary identity
- tickets: submit uses selected identity (validated belongs to user)
- dashboard: 我的身份 card with bind/unbind UI
- ticket-create: identity selector when >1 identity
2026-08-17 01:17:09 +08:00
efe6b084be sync: add source field to user list, create, edit, and external API 2026-07-15 04:43:30 +08:00
125b4f99fc fix: only two sources (netease/skin), plugin uses skin 2026-07-15 04:36:01 +08:00
c493c1204b feat: registration source selector (netease/skin/java) 2026-07-15 04:34:06 +08:00
befd51dbd5 fix: prevent username/email enumeration via registration error messages 2026-07-13 18:29:32 +08:00
b24f8cd74d fix: critical - external POST parameter count mismatch (11 vs 10) 2026-07-13 18:26:49 +08:00
532efb962f fix: HIGH+MEDIUM bugs from full audit - listen error, JWT, upload, mailer, webhook 2026-07-13 03:49:02 +08:00
7c03fe7635 fix: external register verify token mismatch, add type validation 2026-07-13 03:36:53 +08:00
a51e841fc9 refactor: English subcommands, plugin login/track redesign, clean external API routes 2026-07-13 03:35:13 +08:00
2a5c25f41c refactor: unified /report command with login/register/track, external auth endpoints 2026-07-13 03:25:39 +08:00
de5a46f392 feat: Paper plugin + external API POST endpoint 2026-07-13 01:28:33 +08:00
ea3cd67e02 feat: external API for Java server integration with dedicated key 2026-07-13 01:24:03 +08:00