1

我正在尝试完成与 Xero 合作伙伴 API 的集成,但在获取令牌的 Oauth 过程中遇到了一些问题。我们使用公共 API 对此没有问题,但使用需要客户端证书的合作伙伴 API,我们不断收到错误“无法连接到 api-partner.network.xero.com:443”。

我们从授权服务器(运行 perl 代码的 Apache/Linux 服务器)处理此 oauth 部分。其余的调用是从我们的主 IIS 服务器进行的,我们在那里没有问题。

令人费解的是,根据文档,我们甚至不需要客户端证书来进行 oauth 调用。 http://developer.xero.com/documentation/getting-started/partner-applications/

然而,起初我们收到了错误消息(“证书验证失败”),我们猜测即使在这个阶段我们确实需要客户端证书。因此,我们尝试安装和使用所有证书变体,但仍然无法连接。

任何人都可以确认 oauth 调用需要客户端证书,如果需要详细说明在 apache/linux 服务器上完成 Oauth 步骤需要什么?需要什么证书,我们如何安装它们?

非常感谢你,盖伊。

4

1 回答 1

1

Xero 提供 3 种类型的应用程序集成方法,它们都使用OAuth (v1.0a) 协议来验证 3rd 方应用程序。

使用“私人”和“合作伙伴”应用程序将使用证书,而使用公共应用程序则不会。当您只想在您的应用程序和您的 Xero 数据之间建立一个集成点时,私有应用程序是合适的。当您希望获得对用户的 Xero 数据的访问权并要求他们对此进行授权(30 分钟)时,公共应用程序是合适的。合作伙伴应用程序是公共应用程序的演变,需要 Xero 批准,但操作类似,只是用户无需每 30 分钟重新验证一次即可为您提供对其数据的访问权限。

您应该首先确保您熟悉 Xero 文档,尤其是入门指南

关于 perl,CPAN 上有一个 Net::Xero 模块。我用它来通知我自己的 CCP:Xero 模块,该模块可在 Github 上https://github.com/pscott-au/CCP-Xero

于 2016-11-24T03:48:23.880 回答