跳转到内容

每周重新认证

每周重新认证是长期运行 TWS / IB Gateway 时必须提前设计的事项。程序不能自动绕过 IBKR 的登录认证。

官方文档提到,如果出现类似下面的登录失败信息,通常代表需要人工重新登录完成每周认证:

Login failed = Soft token=0 received instead of expected permanent ...

这不是 Python、端口或 clientId 的问题。此时要先回到 TWS / IB Gateway 完成登录认证。

遇到每周认证相关问题时,先按这个顺序看:

顺序检查项说明
1TWS / IB Gateway 是否已经登录没登录时,API 代码再正确也连不上。
2是否出现双因素认证提示需要人工确认,程序不能自动代答。
3API 是否收到 nextValidId()收到后才说明 TWS API 会话可用。
4程序是否恢复订阅和订单状态重新登录不等于策略状态自动恢复。

如果把 IB Gateway 放到 Linux 服务器上,需要预留:

  • 远程登录或可视化管理方式。
  • 每周人工认证提醒。
  • 认证失败后的告警。
  • 重启后自动拉起 IB Gateway 和策略程序的脚本。

2FA 是登录阶段的安全认证。TWS API 连接的是已经登录的 TWS / IB Gateway,不负责完成 2FA。
所以 API 代码能不能连上,前提是 TWS / IB Gateway 本身已经处在可用登录状态。

官方 TWS API 文档提醒,长期 API 用户需要处理每周重新认证;认证失败时通常需要人工重新登录。