授权
拿到 Request Token 后,应用需要把用户引导到 IBKR 授权页面。用户登录并确认后,IBKR 会把用户带回你的回调地址。
回调会带回什么
Section titled “回调会带回什么”常见回调参数:
| 参数 | 中文说明 |
|---|---|
oauth_token | 之前的 request token。 |
oauth_verifier | 用户授权后生成的 verifier。 |
应用收到回调后,应确认 oauth_token 是自己发起的那次请求,再用 oauth_verifier 换取 Access Token。
回调处理示例
Section titled “回调处理示例”def ibkr_callback(request): oauth_token = request.args["oauth_token"] oauth_verifier = request.args["oauth_verifier"]
# 1. 查找服务端保存的 request token secret # 2. 校验这是该用户发起的授权 # 3. 使用 oauth_verifier 换取 access token return "授权处理中"| 检查项 | 说明 |
|---|---|
| HTTPS | 回调地址必须使用安全连接。 |
| token 匹配 | 防止其它请求混进来。 |
| state 或等价机制 | 防止 CSRF 和错误绑定。 |
| 日志脱敏 | 不输出完整 verifier 和 token。 |
授权失败时,不要只提示“失败”。应告诉用户可能是登录过期、取消授权、应用未审批或回调地址不匹配。