Intuit合作伙伴平台-我们应该寻找什么返回状态来检查OAuth令牌是否仍然有效?

Intuit合作伙伴平台-我们应该寻找什么返回状态来检查OAuth令牌是否仍然有效?,oauth,intuit-partner-platform,Oauth,Intuit Partner Platform,在进行Intuit技术审查时,Intuit表示我们需要在应用程序中进行检查,以确保OAuth令牌仍然有效 到目前为止,我发现当OAuth令牌无效时,至少会出现两种不同的返回码——是否不止两种?我们应该寻找哪些其他返回代码 目前发现: HTTP 401未经授权 HTTP 200正常+a错误代码3200 应该使用的唯一HTTP状态是401未经授权。任何其他响应状态要么是错误,要么是Intuit方面规范的错误实现 令牌可能是有效的,只是不适用于您试图访问的资源。在这些情况下,实事求是地为API使用者

在进行Intuit技术审查时,Intuit表示我们需要在应用程序中进行检查,以确保OAuth令牌仍然有效

到目前为止,我发现当OAuth令牌无效时,至少会出现两种不同的返回码——是否不止两种?我们应该寻找哪些其他返回代码

目前发现:

  • HTTP 401未经授权
  • HTTP 200正常+a错误代码3200

应该使用的唯一HTTP状态是401未经授权。任何其他响应状态要么是错误,要么是Intuit方面规范的错误实现

令牌可能是有效的,只是不适用于您试图访问的资源。在这些情况下,实事求是地为API使用者指定他们获得401的原因是很好的。Intuit可能正是在这种情况下使用了200多个错误代码。但这只是一个猜测

基思, 请记住,您不必检查令牌是否无效,您应该始终知道。如果客户断开连接,那么它们将被发送到一个OpenId端点,该端点具有一个域,您可以在该域中找到它们并断开连接

或者,如果您断开连接,则您知道它无效

但是是的,这是一个bug,应该是未经授权的。我只是想指出,在正常用例下调用之前,您应该知道状态


Jarred

返回200OK的端点是Intuit的通用“get available Companys”端点,它基本上可以在任何时间用于任何令牌。我们看看他们会怎么说。谢谢更新:Intuit回应了我提交给他们的支持票,并表示这是他们的一个错误-他们应该总是返回未经授权的401,但他们不是。他们已经提交了一份错误报告,并将对此进行修复。嗨,贾里德-如果我们不使用OpenID怎么办?这是一个只连接到QuickBooks的应用程序-我们绝对没有实现OpenID组件,Intuit也没有表示我们需要。如果您只连接到QuickBooks,这不是必需的,而是如果您在Appcenter上列出。在任何一种情况下,当用户转到Appcenter并断开连接时,我们都会使用包含领域的OpenId断言将其传递给您。如果你需要,它就在那里。谢谢,那很有帮助!因此,为了确认,可以使用OpenID来检测这一点,即使我们没有在AppCenter上列出。是的,这是正确的。列出时需要OpenId,因为我们希望SSO能够改善从AppCenter注册应用程序时的客户优先使用体验。但它对非Appcenter应用程序还有其他用途。