跳到主要内容
DSA 统一身份认证
首页
登录 注册
统一身份认证

一套账号,
通行全部游戏与应用

20 位全局唯一 UUID 在主服务与所有插件中完全一致; 注册需人机验证,敏感数据经 RSA 公钥加密后传输,服务端以 Argon2id 校验口令。

注册用户 2
已安装插件 1
UUID 长度 20

安全第一

  • Argon2id 口令哈希,永不存储明文
  • RSA-OAEP(SHA-256) + AES-256-GCM 信封加密
  • 服务端本地生成验证码(TTL 300 秒、一次性)
  • Access Token 短期、Refresh Token 轮换并只存哈希

插件化接入

不同游戏 / 应用通过 /api/<项目英文名> 接入统一身份认证。

  • 可安装、卸载、启停,独立数据目录
  • 云存档、排行榜等能力由插件提供
  • 注销 / 解绑 / 封禁自动联动清理

全局唯一 UUID

每个账户拥有 20 位字母+数字 UUID,创建后不可变。

插件数据落在:

data/plugins/{plugin}/users/{uuid}/

已安装的游戏 / 应用插件

1 个
名称英文名版本API 前缀状态
Random Arena 随机数竞技场 random_arena 1.0.0 /api/random_arena 已启用

快速接入(客户端)

客户端可固定打包服务端公钥,然后按以下流程注册 / 登录:

  1. GET /api/captcha 获取验证码图片与 captcha_id;
  2. GET /api/public-key 获取 RSA 公钥(或使用已固定打包的公钥);
  3. 用公钥做信封加密:RSA-OAEP 加密 AES 密钥 → AES-256-GCM 加密 {"username","password"};
  4. POST /api/register 或 POST /api/login,携带 encrypted_payload;
  5. 拿到 access_token 后,以 Authorization: Bearer <token> 调用插件 API。
服务端提供 /api/public-key 与内置前端 SDK(/static/js/crypto.js); 客户端也可自行实现同等加密流程。