我正在尝试完成与Xero合作伙伴API的集成,并且在使用Oauth流程获取令牌方面遇到了一些麻烦。我们使用公共API没有问题,但是使用需要客户端证书的合作伙伴API,我们不断收到错误“无法连接到api-partner.network.xero.com:443”。 p>
我们从授权服务器处理这个oauth部分,这是一个运行perl代码的Apache / Linux服务器。 其余的调用是从我们的主IIS服务器进行的,我们没有问题。
令人费解的是,根据文档,我们甚至不需要oauth调用的客户端证书。 http://developer.xero.com/documentation/getting-started/partner-applications/
但是,首先我们收到了错误消息(“证书验证失败”),我们猜测即使在此阶段我们也需要客户端证书。因此,我们尝试安装并使用所有证书变体,但仍然无法连接。
任何人都可以确认oauth调用需要客户端证书,如果是这样详细说明在apache / linux服务器上完成Oauth步骤需要什么?需要哪些证书以及我们如何安装它们?
非常感谢, 盖
答案 0 :(得分:1)
Xero提供了3种类型的应用程序集成方法,它们都使用OAuth (v1.0a)协议来验证第三方应用程序。
使用'私人'和'伙伴'应用程序将使用证书,而使用公共应用程序则不会。当您只想在应用程序和Xero数据之间建立集成点时,私有应用程序是合适的。当您希望获得对用户的Xero数据的访问权并要求他们对此进行授权(30分钟)时,公共应用程序是合适的。合作伙伴应用程序是公共应用程序的演变,需要Xero批准,但操作类似,但用户不需要每30分钟重新进行一次身份验证,以便为您提供对其数据的访问权。
首先应确保您熟悉Xero文档,尤其是Getting Started Guide。
关于perl,CPAN上有一个Net :: Xero模块。我用这个来通知我自己的CCP:Xero模块,可以在https://github.com/pscott-au/CCP-Xero
的Github上找到