使用Xero的Java SDK支持多个私有应用的认证?
Using Xero's Java SDK to support authentication of multiple private apps?
我正在通过密钥证书文件和适当的消费者密钥和机密使用 Xero's Java SDK to build my application. My application is now facing a requirement of having to work with several Xero private apps, therefore I need to manage and performing authentication (OAuth)。
我想非常简单地将这些详细信息存储在数据库中 table 并或多或少地适当地检索它们,如下所示:
// create a Xero config instance
Config config = JsonConfig.getInstance();
// build config file - details will be obtained from database
config.setConsumerKey("key");
config.setConsumerSecret("secret");
// this line will have me authenticate with the Xero service using the config file built
XeroClient client = new XeroClient(config);
这种方法的问题是我没有指向 public_privatekey.pfx
密钥文件,这是身份验证所需的另一个基本元素。
我不这样做的原因是 SDK 似乎不支持使用 Config
实例,如上所示 - 我没有选择 select 适当的 public_private.pfx
文件(而且我也没有选择只加载文件内容的选项)。一个 SDK 会缺少一个功能对我来说没有意义,因此质疑我的方法;是我忽略了一个细节还是我处理问题的方式不正确?
查看自定义请求签名标题下的自述文件
https://github.com/XeroAPI/Xero-Java/blob/master/README.md
您可以使用 public XeroClient(Config config, SignerFactory signerFactory) 构造函数提供您自己的签名机制。只需使用您的实现来实现 SignerFactory 接口。
您还可以使用 public RsaSignerFactory(InputStream privateKeyInputStream, String privateKeyPassword) 构造函数提供 RsaSignerFactory,以从任何 InputStream 获取密钥。
我正在通过密钥证书文件和适当的消费者密钥和机密使用 Xero's Java SDK to build my application. My application is now facing a requirement of having to work with several Xero private apps, therefore I need to manage and performing authentication (OAuth)。
我想非常简单地将这些详细信息存储在数据库中 table 并或多或少地适当地检索它们,如下所示:
// create a Xero config instance
Config config = JsonConfig.getInstance();
// build config file - details will be obtained from database
config.setConsumerKey("key");
config.setConsumerSecret("secret");
// this line will have me authenticate with the Xero service using the config file built
XeroClient client = new XeroClient(config);
这种方法的问题是我没有指向 public_privatekey.pfx
密钥文件,这是身份验证所需的另一个基本元素。
我不这样做的原因是 SDK 似乎不支持使用 Config
实例,如上所示 - 我没有选择 select 适当的 public_private.pfx
文件(而且我也没有选择只加载文件内容的选项)。一个 SDK 会缺少一个功能对我来说没有意义,因此质疑我的方法;是我忽略了一个细节还是我处理问题的方式不正确?
查看自定义请求签名标题下的自述文件
https://github.com/XeroAPI/Xero-Java/blob/master/README.md
您可以使用 public XeroClient(Config config, SignerFactory signerFactory) 构造函数提供您自己的签名机制。只需使用您的实现来实现 SignerFactory 接口。
您还可以使用 public RsaSignerFactory(InputStream privateKeyInputStream, String privateKeyPassword) 构造函数提供 RsaSignerFactory,以从任何 InputStream 获取密钥。