代码之家  ›  专栏  ›  技术社区  ›  Brendan Hill

如何方便离线机器对机器的API访问大量的Xero组织?

  •  0
  • Brendan Hill  · 技术社区  · 1 年前

    我们的目标是促进我们的后端服务和Xero API之间的机器对机器通信,为大量Xero组织(1000多个)服务。

    已经提出的一个模型是:

    1. 在开发者门户中构建自定义Web应用程序
    2. 建议每个客户访问web应用程序,为其Xero组织授权web应用程序并登录
    3. 检索refresh_token和access_token(带offline_access)
    4. 在我们的后端机密存储中安全地保存refresh_token
    5. 当需要M2M API访问时,使用refresh_token更新access_token,并使用access_toke与Xero API对话
    6. 如果刷新令牌在55天内没有使用,则自动刷新以保持其活动状态。

    我们听说过开发人员让这个解决方案发挥作用,但对在没有一些保证的情况下采用这种方法感到不舒服。问题:

    1. 这种M2M身份验证方法(有初始用户干预)是否得到Xero的批准,或者将来会被禁止?
    2. 考虑到需要支持访问1000多个组织,Web应用程序是否需要获得认证?
    3. 同样,这会触发安全审计吗?(即。 https://developer.xero.com/partner/security-standard-for-xero-api-consumers )
    4. 安全审计是否仅限于我们构建的解决方案或其他非Xero-API应用程序?
    5. refresh_token可以扩展/刷新的次数有限制吗?或者我们可以依靠它无限期地保持活动(假设我们的系统在60天前自动刷新)吗?
    6. 与自定义连接相比,这种方法的优点和缺点是什么?

    我们曾试图与Xero支持团队进行沟通,但到目前为止未能得到这些问题的明确答案。

    0 回复  |  直到 1 年前
        1
  •  1
  •   sallyhornet    1 年前

    你概述的方法非常好。

    刷新令牌是一次性的,它们在60天后过期或在使用时过期,以较早者为准。

    刷新访问令牌时,将获得一个新的访问令牌和一个新刷新令牌。新的刷新令牌每次都有新的60天生存期,因此只要您在60天之前刷新,并且客户没有断开连接,您就可以无限期访问。

    如果您有超过25个连接,则需要进行认证,超过1000个连接也需要进行安全评估。

    API条款和条件包括一个条款,在该条款中,您不能创建多个版本的应用程序来访问开发人员平台以实现相同或相似的用途(例如,创建特定于客户的应用程序版本),因此自定义连接将违反此条款

    推荐文章