OAuth2 应用
OakSkin 基于 Blessing Skin Server 的插件机制,对外提供了 OAuth2 授权能力,允许第三方应用在获得用户授权后访问该用户的账号信息、角色列表、材质数据等资源。
申请开发者凭证
当前 OAuth2 应用注册需联系管理员人工开通。请按照 提交反馈 中的邮箱格式发送申请,说明应用名称、用途、预期调用的接口范围。
授权流程(Authorization Code)
标准流程,适用于有后端服务器的 Web 应用或桌面客户端:
- 获取授权码 — 引导用户跳转到皮肤站授权页
- 获取 Token — 用授权码向 Token 端点请求
access_token - 访问资源 — 在 HTTP 请求头中携带
Authorization: Bearer <access_token>访问受保护接口
端点地址
| 端点 | 地址 |
|---|---|
| 授权端点 | https://skin.oak-ms.top/oauth/authorize |
| Token 端点 | https://skin.oak-ms.top/oauth/token |
| 用户信息 | https://skin.oak-ms.top/api/user |
| 角色列表 | https://skin.oak-ms.top/api/players |
可用 Scope
| scope | 说明 |
|---|---|
user.read | 读取用户基本信息(昵称、邮箱、UID) |
player.read | 读取用户的角色列表与材质 |
user.write | 修改用户资料(需要管理员审批) |
示例:获取授权码
引导用户浏览器访问:
https://skin.oak-ms.top/oauth/authorize
?client_id=your_client_id
&redirect_uri=https://your-app.com/callback
&response_type=code
&scope=user.read%20player.read
&state=random_string_for_csrf
用户授权同意后,浏览器会回调 redirect_uri 并附带 code 参数:
https://your-app.com/callback?code=abc123&state=random_string_for_csrf
示例:用 code 换取 Token
在你的应用后端发起 POST 请求:
POST https://skin.oak-ms.top/oauth/token
Content-Type: application/x-www-form-urlencoded
client_id=your_client_id
&client_secret=your_client_secret
&grant_type=authorization_code
&code=abc123
&redirect_uri=https://your-app.com/callback
响应:
{
"token_type": "Bearer",
"expires_in": 86400,
"access_token": "eyJ...",
"refresh_token": "eyJ..."
}
更多接口
完整的 OakSkin API 列表、错误码、字段说明请参考 OakSkin API 文档。