认证
⚠️ 注意: 数据源基本格式定义文档正在撰写中。当前信息可能不完整或有变更。
概述
认证API提供了用户登录和身份验证的功能。云享社音乐使用基于二维码的登录流程,类似于许多主流音乐服务的网页登录方式。
认证流程
- 获取唯一的二维码密钥
- 使用密钥生成二维码
- 用户使用移动端应用扫描二维码
- 应用程序轮询检查二维码状态
- 用户确认登录后,获取登录凭证(Cookie或Token)
- 使用该凭证作为后续API请求的Token
API端点
获取二维码密钥
GET /connect/qr/key
获取用于生成二维码的唯一密钥。
参数: 无
响应:
json
{
"code": 0,
"message": "Success",
"data": {
"unikey": "8a3829f1-2935-4d6a-b568-3f6317b5xxx"
},
"timestamp": "2025-03-28T10:30:00.000Z"
}
创建二维码
GET /connect/qr/create
根据提供的密钥生成二维码。
参数:
key
(string|number): 二维码密钥,从/connect/qr/key
获取qrimg
(boolean|string, 可选): 是否返回图片,默认为true
响应:
json
{
"code": 0,
"message": "Success",
"data": {
"qrurl": "https://music.app/qrlogin?key=8a3829f1-2935-4d6a-b568-3f6317b5xxx",
"qrimg": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAA..."
},
"timestamp": "2025-03-28T10:30:10.000Z"
}
检查二维码状态
GET /connect/qr/check
检查二维码的扫描和授权状态。
参数:
key
(string|number): 二维码密钥
响应:
json
{
"code": 0,
"message": "Success",
"data": {
"status": 0,
"cookie": ""
},
"timestamp": "2025-03-28T10:30:20.000Z"
}
状态码说明:
-1
: 二维码已过期,需要重新生成0
: 等待用户扫描二维码1
: 用户已扫描,等待确认2
: 用户已授权登录成功
当 status
为 2
时,响应中会包含 cookie
字段,该字段可作为后续API请求的Token。
获取登录状态
GET /connect/status
获取当前登录用户的信息。
参数: 无
请求头:
Token
: 用户的登录凭证
响应:
json
{
"code": 0,
"message": "Success",
"data": {
"id": 12345678,
"name": "音乐爱好者",
"avatar": "https://p1.music.app/avatar.jpg"
},
"timestamp": "2025-03-28T10:35:00.000Z"
}
错误响应:
json
{
"code": -1,
"message": "请先登录",
"data": null,
"timestamp": "2025-03-28T10:35:00.000Z"
}
最佳实践
- 二维码轮询:扫码登录时,建议以3-5秒的间隔轮询二维码状态
- Token存储:获取到cookie后,应安全存储,避免明文保存
- Token刷新:如遇到Token过期,重新引导用户进行扫码登录
- 错误处理:妥善处理未登录、Token过期等异常情况
安全提示
- 请勿在客户端明文存储用户Token
- 使用HTTPS确保传输安全
- 避免在公共设备上长时间保持登录状态