refactor: session-based external auth, dynamic sources, drop netease UID
Auth (external API): - ID: 16-digit random (non-sequential); Secret: SeaReport- + 32 hex - POST /auth/session: ID+Secret -> Bearer SESSION (24h, single-session, old session invalidated on re-issue, disabled client invalidates) - clientAuth now validates Bearer SESSION via api_sessions JOIN api_clients Sources (dynamic, no default, open-source friendly): - sources table + CRUD route (/api/sources, owner; delete guarded by usage) - users/user_identities.source ENUM -> VARCHAR, seeded netease/skin - register/admin create/identity bind: validate against enabled sources - UI: 来源管理 page; source dropdowns loaded dynamically everywhere (register, dashboard identity, users admin, bans), labels dynamic UID removal: - game_uid/reporter_game_uid no longer required (db default '', validations dropped, frontend fields optional) Docs: EXTERNAL-API.md session flow + new credential format; API.md updated Verified: 37 checks (syntax, session logic, source CRUD, UID removal, docs)
This commit is contained in:
@@ -76,6 +76,7 @@
|
||||
<script src="js/pages/servers.js"></script>
|
||||
<script src="js/pages/bans.js"></script>
|
||||
<script src="js/pages/logs.js"></script>
|
||||
<script src="js/pages/sources.js"></script>
|
||||
<script src="js/pages/features.js"></script>
|
||||
<script src="js/pages/feature-detail.js"></script>
|
||||
<script src="js/app.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user