Tradestation API 采用了OAuth2.0认证方式(是目前互联网领域最流行的授权机制,用来给第三方应用授权)
OAuth2.0基于RFC6749标准,它又有四种子模式
1.授权码 authorization-code
2.隐藏式 implicit
3.密码式 password
4.客户端凭证 client credentials
而Tradestation API 就采用了第一种(授权码 authorization-code)子模式
首先我们需要去Tradestation备案,申请到 client_id和client_secret
client_id (The client application’s API key)
client_secret (The secret for the client application’s API Key)
下面开始梳理程序流程:
服务器角色说明:
我们自己的服务器,简称 【应用服务器】
Tradestation API所在服务器,简称 【TAPI服务器】
第一步:
【应用服务器】访问 【TAPI服务器】,开始认证,要传递自己服务器上的一个url程序页面地址给【TAPI服务器】
第二步:
用户用Tradestation账号密码登录认证成功以后,【TAPI服务器】回调【应用服务器】上的url程序页面地址,同时传递授权码
第三步:
【应用服务器】上的url程序拿到授权码后,再次向【TAPI服务器】发请求,传递授权码,用来换取访问令牌,也需要传递自己服务器上的一个url程序页面地址给【TAPI服务器】
第四步:
【TAPI服务器】将访问令牌传给【应用服务器】,具体方式是回调【应用服务器】上的url程序页面地址
第五步:(因为访问令牌过一段时间就会失效,所以每隔一段时间都需要刷新令牌)
【应用服务器】访问 【TAPI服务器】,刷新访问令牌
系统工作流程图如下(假设由财务人员管理账号):
整体包括:
1. 搭建外网可以访问的web服务器
2.利用本web程序,由用户获取code后,利用code获取token,保存token,刷新token等
3.最后交易模块通过token授权后获取行情,实时交易等