跳转到内容

OAuth 1.0a 总览

OAuth 1.0a 用于让应用在不保存用户密码的情况下访问 IBKR Web API。它比 Client Portal Gateway 复杂,通常适合机构、第三方应用或正式 Web 服务。

个人桌面开发优先使用 Client Portal Gateway;只有需要把服务部署到服务器、给多用户使用或做正式授权接入时,才需要深入 OAuth。

官方参考:Web API Documentation

问题OAuth 的作用
不能保存用户密码用户在 IBKR 授权页完成授权,应用只拿令牌。
需要服务器调用 Web API服务器用签名请求访问接口。
多用户接入每个用户有自己的授权和 token。
权限可撤销用户或 IBKR 可以撤销应用授权。
模式中文说明适合场景
First-party OAuth一方 OAuth,应用和账户主体更接近自用系统、机构自有系统。
Third-party OAuth三方 OAuth,用户授权给外部应用面向客户的第三方服务。
申请并配置 OAuth 应用
-> 获取 Request Token
-> 用户授权
-> 换取 Access Token
-> 生成 Live Session Token
-> 使用签名请求调用 Web API
资料说明
Consumer KeyIBKR 分配给应用的标识。
签名密钥用于 OAuth 1.0a 请求签名。
回调地址用户授权后跳转回应用的地址。
Access Token用户授权后获得的访问令牌。
Token Secret与 Access Token 配套的签名密钥。

这些都属于敏感信息。不要写进前端代码、公开仓库、页面展示或日志。

对比项Client Portal GatewayOAuth
启动方式运行 Java Gateway服务器应用签名请求
登录方式浏览器登录 GatewayIBKR 授权流程
适合阶段桌面开发、单用户调试正式服务、多用户接入
复杂度较低较高

OAuth 示例只说明流程、字段和签名结构。真实接入还需要 OAuth 应用审批资料、consumer key、签名密钥、回调配置和用户授权。开发时要把“能生成签名”和“IBKR 接受并返回业务数据”分开验证。