1. 认证 (Auth)
Milracle-v2
  • 认证 (Auth)
    • 重定向认证操作 (OIDC / GitHub OAuth 回调)
      GET
    • 认证操作
      POST
  • 谱面 (Charts)
    • 获取谱面列表或详情
      GET
    • 删除谱面
      DELETE
    • 删除谱面 (兼容旧客户端,使用 POST 代替 DELETE)
      POST
    • Studio 管理:获取审核队列(支持待审核 / 上架申请 / 已通过 / 已上架 / 已拒绝等)
      GET
    • Studio 操作:投票 / 申请上架 / 处理上架
      POST
  • 成绩 (Scores)
    • 获取成绩
      GET
    • 上传成绩
      POST
  • 游玩记录 (Records)
    • 获取游玩记录
      GET
    • 上传游玩记录
      POST
  • 资源包 (Resource Packs)
    • 获取资源包列表/详情或下载资源包
      GET
    • 上传资源包或审核资源包
      POST
  • 用户 (User)
    • 获取用户信息或用户列表
      GET
    • 用户操作(某些操作需管理员权限,例如修改其他用户)
      POST
  • 管理员 (Admin)
    • 管理员查询
      GET
    • 管理员更新
      PUT
  • 内容 (Content)
    • 获取内容
      GET
    • 创建内容
      POST
    • 更新内容
      PUT
    • 删除内容
      DELETE
  • 上传 (Upload)
    • 获取 presigned 上传地址 / 头像代理
    • 文件上传
  • 工具 (Utils)
    • 获取谱面元数据(不再服务端打包 zip)
  • 工单 (Tickets)
    • 工单: 列表 / 详情 / 统计
    • 工单: 创建 / 回复 / 认领 / 结案 / 驳回
  • 数据模型
    • User
    • Chart
    • ChartAsset
    • Error
    • Score
    • Record
    • ResourcePack
    • RecordProperties
  1. 认证 (Auth)

重定向认证操作 (OIDC / GitHub OAuth 回调)

GET
/api/v2/auth
重定向认证操作,包括 Milkloud OIDC 登录与回调、GitHub OAuth 授权跳转与回调。Milkloud 回调会规范化头像 URL;仅当用户当前头像为空/默认头像或已是 Milkloud 头像时同步 Milkloud 头像,避免覆盖用户上传的本地头像。GitHub OAuth:action=github-login 生成一次性 state(Redis 10 分钟 + HttpOnly Cookie github_state 兜底),302 跳转 https://github.com/login/oauth/authorize(scope=read:user user:email,allow_signup=true);action=github-callback 为 GET 容错分支:当 GitHub App 后台把回调 URL 误配到本 API 端点时,GitHub 会以 GET 302 到此处,服务端校验 state 后转发到前端回调页(携带 code+state,不消费 state),由前端以 POST 继续正常交换流程。

请求参数

Query 参数

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location 'https://api.xhsr.org.cn/api/v2/auth?action=&code=&state='

返回响应

🟢200
application/json
成功 (action=milkloud-callback)
Bodyapplication/json

示例
{
    "token": "string",
    "refreshToken": "string",
    "user": {
        "id": "string",
        "username": "string",
        "email": "user@example.com",
        "avatar_url": "string",
        "bio": "string",
        "followers_count": 0,
        "following_count": 0,
        "is_following": true,
        "role": "user",
        "status": "active",
        "milkloud_id": "string",
        "created_at": "2019-08-24T14:15:22.123Z"
    }
}
🔵302
🟠405
🔴500
修改于 2026-10-07 10:19:10
下一页
认证操作
Built with