【问题标题】:How do I programmatically start an OAuth session?如何以编程方式启动 OAuth 会话?
【发布时间】:2015-04-27 10:25:08
【问题描述】:

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

OAuth 的工作方式似乎是为用户在会话过期时登录而设计,就像登录网站一样。这显然不适合 API,但我确信这不是一个不寻常的要求。

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

【问题讨论】:

  • 请参阅此站点以获得一些指导:developer.infusionsoft.com/docs/read/…
  • 是的,它希望用户被重定向到 Infusion Soft 以登录。这是一个 CRM,因此用户永远不会有帐户,而是需要将他们添加为联系人。 Infusion Soft 的“用户”以及通过 OAuth 登录的用户是网站本身(CRM 所有者)。我显然可以这样做来获取初始访问令牌,但是然后呢?

标签: php session oauth infusionsoft


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    相关资源
    最近更新 更多