oAuth:请求令牌使当前访问令牌无效

时间:2014-11-03 21:42:26

标签: intuit-partner-platform

我们的应用程序已经实现了oAuth以从Intuit获取访问令牌和秘密,并且一切正常。

该应用考虑到用户可能拥有多个QBO公司。因此,当用户尝试授权访问一家公司时,我们的应用程序会检查该公司是否已经获得授权,如果已经授权,该应用程序会让用户知道并且不会尝试重新授权该公司。

我们实现这个的方式如下。当授权过程开始时,我们发送或应用已经授权的公司列表(领域ID)。用户单击“连接到QuickBooks”按钮并按照向导进行操作。在内部,应用程序获取请求令牌,并准备好发出访问令牌请求。请求令牌请求获取领域ID,以便我们可以将其与已经授权的公司列表进行比较。如果公司已获得授权,我们不会要求访问令牌,并让用户知道公司已经获得授权。

直到一个星期前,这曾经起作用了-i.e.在这种情况下,由于应用程序未请求访问令牌,因此应用程序具有的访问令牌仍然有效。但是,现在似乎已经发生了一些变化,以便当应用程序获取请求令牌时,即使它没有请求访问令牌,现有的访问令牌也不再有效,用户需要再次重新授权该公司。

oAuth流程实施中有什么变化吗?

由于

1 个答案:

答案 0 :(得分:0)

OAuth令牌有效期为180天(默认值)。因此,请检查现有代币是否超过180天。如果是,请使用'重新连接api'。

参考 - https://developer.intuit.com/v2/docs/0050_quickbooks_api/0020_authentication_and_authorization/oauth_management_api#Reconnect

一个建议 -

您可以在自己的应用中实施SSO(使用∫使用intuit'向导登录)。这样,您可以将最终用户的SSO网址与其公司的OAuth令牌相关联,同时在应用程序的数据库中保留这些令牌。这是第一次,最终用户将通过C2QB流生成令牌。下次,当最终用户登录时,您的应用应该使用他的SSO标识符检索他的oauth令牌(如果他已经建立了连接,您的应用应该显示' Disconnect'选项而不是C2QB。)

由于