为离线应用创建令牌时,如果令牌的创建者被撤销访问权限,令牌会如何处理?

问题描述

我在Xero的开发人员论坛中提出了这个问题,但是Xero似乎不再支持开发人员。几个问题没有答案。我认为这可能是与开发人员讨论的更好地方。

我们在更改Oauth2之前为客户端创建了一个应用程序,因此我们使用建议的新Oauth2工作流程完全对其进行了重新定位,在该工作流程中,我们登录到Xero,授予对Xero帐户的访问权限,然后将续订令牌存储在数据库中。然后例行刷新令牌。我们通过为客户授予Xero帐户对其Org的完全访问权限来完成此操作,因此他们不必进行初始连接。

现在,他们已经有了此连接设置,客户希望删除我们对其Xero组织的访问权限。并做到了。但是从那以后,我们在尝试联系Xero时都会看到grant_type错误

我是否正确地认为,一旦撤销对组织的访问,该用户创建的任何令牌现在都将无权访问?如果是这样,这里的确切建议计划是什么?创建一个仅用于从未撤销的API使用的新帐户?我认为我没有遇到过用于构建M2M应用程序的API,该API要求非技术客户端实际连接到API本身。

解决方法

如果用户想断开您的API应用程序使其无法连接到其组织,并且他们通过 Settings 按钮将其撤消,则该撤消该特定的access_token以免将来进行任何呼叫并禁止refresh_token创建新的有效access_token。

可能需要更多上下文来指导您找到适合您的方案的最佳解决方案,但是如果您要从用户的角度重新进行身份验证并重新保存新生成的OA2令牌,请对该用户/组织的API访问权限进行设置恢复原状。