三方 OAuth
三方 OAuth 用于用户把 IBKR Web API 访问权限授权给外部应用。典型场景是 SaaS、交易工具、报表工具或策略平台。
用户点击连接 IBKR -> 跳转到 IBKR 授权页 -> 用户登录并确认授权 -> IBKR 回调你的应用 -> 应用换取 Access Token -> 应用代表用户调用 API开发者需要处理的事情
Section titled “开发者需要处理的事情”| 项目 | 说明 |
|---|---|
| 授权页跳转 | 生成正确的 OAuth 参数和签名。 |
| 回调处理 | 接收 verifier,并和原始请求匹配。 |
| Token 存储 | 按用户加密保存 Access Token 和 secret。 |
| 撤销授权 | 用户取消授权后停止调用 API。 |
| 审计日志 | 记录谁在什么时候授权了什么应用。 |
前端页面应清楚告诉用户:
| 内容 | 原因 |
|---|---|
| 需要访问哪些数据 | 避免授权范围不透明。 |
| 是否能下单 | 交易权限必须明确说明。 |
| 如何撤销授权 | 用户必须能停用连接。 |
| 数据如何保存 | 账户数据属于敏感信息。 |
不建议的做法
Section titled “不建议的做法”| 做法 | 问题 |
|---|---|
| 让用户提交 IBKR 密码 | 不安全,也违背 OAuth 的目的。 |
| 把 token 放在前端 localStorage | 容易被脚本读取。 |
| 所有用户共用一个 token | 权限和审计都会混乱。 |
| 默认启用下单权限 | 应让用户明确知道风险。 |