如何以编程方式启动 OAuth 会话?

How do I programmatically start an OAuth session?

我正在使用 InfusionSoft's API 来保存在网站上填写的表单的内容。 API 使用 OAuth,据我所知,没有办法进行终身会话。

OAuth 的工作方式似乎是它是为用户设计的,如果他们的会话已过期则可以登录,就像登录网站一样。这显然不适合 API,但我相信这不是一个不寻常的要求。

我有一个初始令牌,但是在它过期之后,然后呢?我唯一能想到的是有一个每小时运行一次的 cron 作业来刷新访问令牌(有一个 'refreshAccessToken' 方法)。

您需要存储访问令牌(短期 - 有效期为 24 小时)和刷新令牌(长期)。

您只需在每次会话开始时调用 refreshAccessToken 方法。该方法将 return 一个新的访问令牌和一个新的刷新令牌。

在发出 API 请求时,使用当前 "session" 的新访问令牌。访问令牌的有效期为 24 小时(这会不时更改)。

存储新的刷新令牌并在下一个会话中再次使用它。