安全第一
- Argon2id 口令哈希,永不存储明文
- RSA-OAEP(SHA-256) + AES-256-GCM 信封加密
- 服务端本地生成验证码(TTL 300 秒、一次性)
- Access Token 短期、Refresh Token 轮换并只存哈希
不同游戏 / 应用通过 /api/<项目英文名> 接入统一身份认证。
每个账户拥有 20 位字母+数字 UUID,创建后不可变。
插件数据落在:
data/plugins/{plugin}/users/{uuid}/
| 名称 | 英文名 | 版本 | API 前缀 | 状态 |
|---|---|---|---|---|
| Random Arena 随机数竞技场 | random_arena |
1.0.0 | /api/random_arena |
已启用 |
客户端可固定打包服务端公钥,然后按以下流程注册 / 登录:
GET /api/captcha 获取验证码图片与 captcha_id;GET /api/public-key 获取 RSA 公钥(或使用已固定打包的公钥);{"username","password"};POST /api/register 或 POST /api/login,携带 encrypted_payload;access_token 后,以 Authorization: Bearer <token> 调用插件 API。/api/public-key 与内置前端 SDK(/static/js/crypto.js);
客户端也可自行实现同等加密流程。