【问题标题】:XERO API Oauth 2.0 user authenticationXERO API Oauth 2.0 用户认证
【发布时间】:2020-04-01 14:13:31
【问题描述】:

在过去的几年里,我一直在使用无人值守的远程服务器通过 XERO API (Oauth 1.0) 处理发票 我们会定期(每个财政年度)创建一个新的 XERO 组织,以保持事情整洁并避免放慢速度。 我刚来创建一个新组织和相关应用程序,但发现我只能使用 Oauth 2.0,我对此没有什么大问题,但我必须“用户”身份验证这一事实将是一个真正的问题因为我的进程是“无人值守”并通过 CRON 作业启动的。

谁能告诉我是否有办法解决这个问题?如果没有,是否有任何解决方案可以做到这一点? 或者,有什么方法可以更改我现有的 Oauth 1.0 应用程序之一以指向不同的组织(即我刚刚创建的新组织)?

没有考虑无人值守流程似乎有点短视,我不能是唯一这样做的人吗??

任何帮助或指点将不胜感激。

谢谢, 迈克。

【问题讨论】:

    标签: api oauth-2.0 xero-api


    【解决方案1】:

    是的,您不是唯一这样做的人 :) & 是的,私有应用程序在 2020 年底基本上已被弃用 - 此举并非轻率。由于通过 Xero 的 API 执行的每个 API 操作都代表一个用户帐户,因此团队决定使用用户同意屏幕转向 OAuth2.0(行业标准)。

    如果您代表用户需要这些长期存在的 api 连接 - 他们将需要至少一次对该 API 连接进行初始身份验证,以获得access_token 和`refresh_tokenà。访问令牌的有效期为 30 分钟,而刷新令牌的有效期为 60 天。因此,只要您刷新 > 2 个月,您就可以坚持这个长尾过程。

    如果您无法构建初始身份验证屏幕以让您的用户自行验证,则可以使用此 CLI 工具设置初始令牌以安全地存储在远程服务器中。另一个变化是该(或某些)过程将需要确保令牌在使用前被刷新,并且已授予连接到特定用户的tenant-id 的权限,因为他们可能是多个 Xero 组织的一部分和手动同意屏幕是用户选择向哪个租户/组织授予 API 权限的地方。

    CLI 从命令行获取 Xero 令牌

    https://github.com/XeroAPI/xoauth

    更多信息在这里:https://community.xero.com/developer/discussion/109207632#answer110970761


    更新

    client_credentials 又名机器对机器将进入 Xero 的 OAuth2.0 网关。

    您可以在此处阅读更多信息: https://developer.xero.com/announcements/custom-integrations-are-coming/

    【讨论】:

    • 谢谢克里斯托弗,我以前读过这个选项,但它看起来很讨厌 :-) 我会进一步研究并尝试测试实现,再次感谢迈克。
    • 嘿,迈克 - 我很快就会发布一个视频,深入解释这一点。订阅 - 应该在接下来的几天内发布:youtube.com/channel/UC7DA_vntKKChsenzpL7QWPg
    猜你喜欢
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2021-08-11
    • 2019-04-13
    相关资源
    最近更新 更多