工作原理
- 通过 REST API 的
POST /user/login,使用账户的用户名(或邮箱)和密码登录。 - 在响应中收到一个令牌。它是一个 256 个字符的十六进制字符串。
- 在每个 REST 请求和每次 WebSocket 握手中发送该令牌。三套 API 接受同一个令牌。
- 登录
POST https://api.4casters.io/user/login
username 字段既可以填用户名,也可以填账户的邮箱。
令牌位于响应体的 data.user.auth。同一值也会被设为签名的 auth Cookie;服务端集成应读取 data.user.auth 并忽略该 Cookie。
- 发送令牌
- REST API
- 订单 WebSocket
- 推送 WebSocket
在 令牌缺失、未知或已过期时返回
Authorization 请求头中传递令牌。Bearer 前缀可选。401,响应体为 { "error": { "message": "InvalidCredentials", "code": 401 } }。令牌有效期
对于长期运行的集成,请选择以下做法之一:
- **遇到任何
401就重新登录。**最简单也最稳健。把401当作「去获取新令牌」,而不是致命错误。 - **监听
X-Auth-Token。**只要响应中出现该请求头,就持久化其值并从此使用它。
401 失败。
双重认证
4casters 的双重认证保护的是提现,而不是登录。在账户上启用它不会改变你对 API 的认证方式。POST /user/login 从不要求验证码。
登录错误
保护凭据安全
- 把用户名和密码存放在环境变量或密钥管理器中,绝不要放进源代码仓库。
- 像对待密码一样对待令牌。持有它的任何人都能下单并读取你的账户。
- 考虑为自动化交易使用专用账户,这样泄露的机器人凭据不会危及你的主余额。开设方式与任何用户账户相同。