我正在尝试完成与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/
但是,起初我们收到错误消息,说“CertificateVerifyFailed”(证书验证失败),我们猜测即使在这个阶段我们也需要客户端证书。所以我们尝试安装并使用所有证书变体,但仍然无法连接。
是否有人可以确认oauth调用需要客户机证书?如果需要,请详细说明在apache/linux服务器上完成oauth步骤需要什么?需要哪些证书以及如何安装它们?
非常感谢,
家伙。

最佳答案

Xero提供了3种应用程序集成方法,它们都使用OAuth (v1.0a)协议来验证第三方应用程序。
使用“私有”和“合作伙伴”应用程序将使用证书,而使用公共应用程序则不会。当您只想在应用程序和Xero数据之间建立一个集成点时,私有应用程序是合适的。当您希望访问用户的Xero数据并要求他们对此进行授权(30分钟)时,公共应用程序是合适的。合作伙伴应用程序是公共应用程序的一个演进,需要Xero批准,但操作方式类似,不同的是用户不需要每隔30分钟重新验证一次,就可以访问他们的数据。
您应该首先确保熟悉Xero文档,特别是Getting Started Guide
关于perl,cpan上有一个net::xero模块。我用这个来通知我自己的ccp:xero模块,它可以在github上https://github.com/pscott-au/CCP-Xero

关于linux - 尝试获取 token 时,Xero Partner API Oauth证书发行(Linux/Perl),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36679376/

10-09 17:47