您似乎正在使用IG Labs REST Trading API;文档说明有两种身份验证模式,具体取决于您指定的API版本。您引用的标题文档是所涉及的不同标题的概述。这一节对于实际理解身份验证/授权如何为该API工作并不十分有用。
在同一页上有一个认证和授权部分,你需要学习的是这个部分。这里描述了两种身份验证模式。还有一个separate examples section解释了这两种不同模式如何处理所示的具体请求和响应。
要进行身份验证,必须首先向POST请求发送一个^{} route,API密钥位于X-IG-API-KEY头中。这是你需要用户名和密码的地方。然后,有效的用户名/密码将为您提供安全令牌以用于后续请求。对于API版本1和2,可以包含一个额外的字段encryptedPassword,以说明密码是纯文本还是加密的;您只需要满足IG Singapore login restrictions的要求,就可以安全地省略该字段。
对于v1和v2请求,您可以在响应头中获得这些令牌,而API v3版本则在正文中提供所需的信息。代币的使用寿命有限。v1/v2令牌的有效期为6小时,但在您需要再次登录之前,通过使用这些令牌发出请求,会自动延长72小时。v3令牌的有效期仅为60秒,但单独的refresh_token允许您通过将刷新令牌发送到^{} endpoint来获取新令牌。
V1/v2请求然后在/session响应使用的完全相同的头中使用令牌,因此跨CST(“客户端会话令牌”)和X-SECURITY-TOKEN头复制,就可以了。
V3请求使用标准的OAuthAuthorization头,方法设置为Bearer。只需使用oauthToken结构中的access_token值构造该头,并在access_token过期时保存refresh_token