Steam 登录获取 Refresh Token
通过 Steam 账号密码登录,获取 Refresh Token。如果账号开启了 Steam Guard,可传入验证码。
- URL:
POST /api/steam/login - 配额:1 次
- Content-Type:
application/json
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| username | string | 是 | Steam 账号用户名 |
| password | string | 是 | Steam 账号密码 |
| steamGuardCode | string | 否 | Steam Guard 验证码(手机令牌或邮箱验证码) |
如果账号需要验证且未提供验证码,会返回 needSteamGuard 提示。
单个登录
请求示例
bash
# JSON 请求体方式
curl -X POST https://monsteronly.me/api/steam/login \
-H "Authorization: Bearer sk_xxxx" \
-H "Content-Type: application/json" \
-d '{"username":"steamuser","password":"yourpassword"}'
# URL 参数方式
curl -X POST "https://monsteronly.me/api/steam/login?username=steamuser&password=yourpassword" \
-H "Authorization: Bearer sk_xxxx"带验证码:
bash
curl -X POST https://monsteronly.me/api/steam/login \
-H "Authorization: Bearer sk_xxxx" \
-H "Content-Type: application/json" \
-d '{"username":"steamuser","password":"yourpassword","steamGuardCode":"ABC123"}'成功响应
json
{
"success": true,
"data": {
"refreshToken": "eyJhbGciOiJ...",
"steamID": "76561199000000000",
"quota": { "used": 1, "remaining": 999 }
}
}需要 Steam Guard 验证码
json
{
"success": false,
"message": "需要Steam Guard验证码: 手机令牌验证码",
"data": {
"needSteamGuard": true,
"guardType": "mobile",
"emailDomain": null
}
}guardType 为 mobile 时表示需要手机令牌验证码,为 email 时表示需要邮箱验证码(emailDomain 会显示邮箱域名)。收到此响应后,在请求体中加上 steamGuardCode 字段重新调用即可。
失败响应
json
{
"success": false,
"message": "InvalidPassword"
}注意
无论登录成功还是失败(密码错误、Steam 报错等),只要进入了登录流程都会消耗 1 额度。仅参数校验失败(400)或配额不足(403)不扣配额。
批量登录
- URL:
POST /api/steam/logins(SSE 流式) - 配额:N 次(按传入账号数量)
- 响应类型:
text/event-stream - 单次最多:无硬限制,每 10 个账号切换一次代理
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| credentials | array | 是 | 账号列表,每项含 username、password,可选 steamGuardCode |
请求示例
bash
curl -N -X POST https://monsteronly.me/api/steam/logins \
-H "Authorization: Bearer sk_xxxx" \
-H "Content-Type: application/json" \
-d '{
"credentials": [
{"username": "user1", "password": "pass1"},
{"username": "user2", "password": "pass2", "steamGuardCode": "ABC123"},
{"username": "user3", "password": "pass3"}
]
}'SSE 响应示例
data: {"type":"start","total":3}
data: {"type":"progress","index":0,"total":3,"processed":1,"successful":1,"failed":0,"result":{"success":true,"steamID":"7656...","refreshToken":"eyJhb..."}}
data: {"type":"progress","index":1,"total":3,"processed":2,"successful":2,"failed":0,"result":{"success":true,"steamID":"7656...","refreshToken":"eyJhb..."}}
data: {"type":"progress","index":2,"total":3,"processed":3,"successful":2,"failed":1,"result":{"success":false,"error":"InvalidPassword"}}
data: {"type":"success","total":3,"successful":2,"failed":1,"quota":{"used":3,"remaining":997}}注意
批量登录每 10 个账号自动切换一次代理 IP。如果账号需要 Steam Guard 验证码但未提供,该账号会标记失败,不影响其他账号继续处理。username/password/steamGuardCode 不会存入数据库日志。