认证方式
Tiger OpenAPI 支持签名认证和 OAuth2 授权,两者使用相同的业务接口,但权限管理方式不同。
OAuth2 目前仅支持个人用户,机构用户请使用签名认证。
核心区别
签名认证使用 Tiger ID 和 RSA 密钥对。应用能够使用该 Tiger ID 已开通的 OpenAPI 权限,无法再按应用或使用场景细分授权范围。
OAuth2 由账户持有人选择允许应用访问的账户和权限,可以分别授权行情、账户查询、交易查询或交易操作,并可单独撤销某个应用的授权。
| 签名认证 | OAuth2 授权 | |
|---|---|---|
| 认证方式 | Tiger ID 与私钥 | 账户持有人登录授权 |
| 权限范围 | 继承 Tiger ID 已开通的权限,不能进一步细分 | 按账户和权限授权 |
| 有效期 | 私钥重新生成前持续有效 | 一次授权最长维持 15 天 |
| 撤销方式 | 重新生成密钥或关闭相关权限 | 在开发者平台撤销指定应用的授权 |
| 适用场景 | 自用程序、后端服务 | 面向用户的应用或不希望保存私钥的场景 |
支持范围
| 接入方式 | 签名认证 | OAuth2 授权 |
|---|---|---|
Python SDK >= 3.8.0 | 支持 | 支持 |
Java SDK >= 2.7.0 | 支持 | 支持 |
| C++、C#、Go、Rust、TypeScript SDK | 支持 | 暂不支持 |
CLI(tigeropen >= 3.8.0) | 支持 | 支持 |
如何选择
- 应用仅供自己使用,且能够安全保管私钥:使用签名认证。
- 需要限制应用可访问的账户或权限:使用 OAuth2。
- 需要由账户持有人自行授权或随时撤销权限:使用 OAuth2。
- 已有签名认证应用运行稳定:无需迁移。
OAuth2 权限管理
应用只能访问账户持有人已授权的账户和权限。需要增加、减少或更换授权范围时,请重新授权。
账户持有人可以在开发者平台的授权管理中撤销 OAuth2 权限。授权到期或被撤销后,应用需要重新授权。
OAuth2 不替代 OpenAPI、行情或交易权限的开通。交易请求仍需指定已授权的账户。
共同限制
无论使用哪种认证方式,行情数据都受账户已有的 OpenAPI 行情权限限制,交易操作也受账户类型、交易权限和市场规则限制。
安全建议
不要将私钥或授权信息写入代码、日志或版本库。不再使用某个应用时,应及时更新密钥或撤销授权。
接入指南
Updated about 3 hours ago
What’s Next
Did this page help you?
