"errorCode":"PARTNER_AUTHENTICATION_FAILED" 在测试服务器中部署时
"errorCode":"PARTNER_AUTHENTICATION_FAILED" when deployed in test server
我已经使用 JWT grant 在我的应用程序中成功实施和集成了 Docusign,它在本地服务器上完美运行。我在测试环境服务器中部署的相同应用程序然后出现以下错误。
请求服务器时出错,收到不成功的 HTTP 代码 401,响应正文:'{"errorCode":"PARTNER_AUTHENTICATION_FAILED","message":"The specified Integrator Key was未找到或已禁用。未指定集成器密钥。"}'
对于测试服务器,我是否还需要制作一个应用程序才能在 DocuSign 中上线,或者是否有任何测试选项?
我的要求就像在 java Spring 引导中开发的需要端点,它将根据签名者电子邮件和 return 剩余信封和此信封列表进行过滤显示在移动应用程序中。因此,为此,我必须将 spring 引导应用程序部署到测试服务器中。
protected ApiClient createDocuSignApiClient() {
ApiClient apiClient = new ApiClient(this.docusignConfig.getBaseUrl());
try {
val privateKeyBytes =
FileCopyUtils.copyToByteArray(
new FileSystemResource(this.docusignConfig.getPrivateKey()).getInputStream());
List<String> scopes = new ArrayList<>();
scopes.add(OAuth.Scope_SIGNATURE);
val accessToken =
apiClient.requestJWTUserToken(
this.docusignConfig.getIntegrationKey(),
this.docusignConfig.getUserId(),
scopes,
privateKeyBytes,
3600);
apiClient.setAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn());
apiClient.setBasePath(this.docusignConfig.getBaseUrl());
Configuration.setDefaultApiClient(apiClient);
} catch (ApiException | IOException exception) {
LOG.error(exception.getMessage());
}
return apiClient;
}
#Docusign API
docusign.integration-key=xxxxxxxfc-7a73c309eccb
docusign.private-key=src/main/resources/private.key
docusign.user-id=dxxxxxxx-0c9253822c79
docusign.base-url=https://demo.docusign.net/restapi
docusign.account-id=x5e-d39f7ffaeec3xxxxxxxxxx
docusign.return-url=https://www.sample.com
这些属性在应用程序属性文件中设置
通过配置属性 @ConfigurationProperties 附加值
术语 BasePath、BaseUri 和 BaseUrl 令人困惑且使用不一致。
当您调用 apiClient.setOAuthBasePath()
时,这是一个路径,而不是 URL,它是 OAuth 服务器的基本路径,而不是 API。
因此您需要传递的值是“account-d.docusign.com”(或用于生产“account.docusign.com”),这就是您的问题。
我已经使用 JWT grant 在我的应用程序中成功实施和集成了 Docusign,它在本地服务器上完美运行。我在测试环境服务器中部署的相同应用程序然后出现以下错误。
请求服务器时出错,收到不成功的 HTTP 代码 401,响应正文:'{"errorCode":"PARTNER_AUTHENTICATION_FAILED","message":"The specified Integrator Key was未找到或已禁用。未指定集成器密钥。"}'
对于测试服务器,我是否还需要制作一个应用程序才能在 DocuSign 中上线,或者是否有任何测试选项?
我的要求就像在 java Spring 引导中开发的需要端点,它将根据签名者电子邮件和 return 剩余信封和此信封列表进行过滤显示在移动应用程序中。因此,为此,我必须将 spring 引导应用程序部署到测试服务器中。
protected ApiClient createDocuSignApiClient() {
ApiClient apiClient = new ApiClient(this.docusignConfig.getBaseUrl());
try {
val privateKeyBytes =
FileCopyUtils.copyToByteArray(
new FileSystemResource(this.docusignConfig.getPrivateKey()).getInputStream());
List<String> scopes = new ArrayList<>();
scopes.add(OAuth.Scope_SIGNATURE);
val accessToken =
apiClient.requestJWTUserToken(
this.docusignConfig.getIntegrationKey(),
this.docusignConfig.getUserId(),
scopes,
privateKeyBytes,
3600);
apiClient.setAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn());
apiClient.setBasePath(this.docusignConfig.getBaseUrl());
Configuration.setDefaultApiClient(apiClient);
} catch (ApiException | IOException exception) {
LOG.error(exception.getMessage());
}
return apiClient;
}
#Docusign API
docusign.integration-key=xxxxxxxfc-7a73c309eccb
docusign.private-key=src/main/resources/private.key
docusign.user-id=dxxxxxxx-0c9253822c79
docusign.base-url=https://demo.docusign.net/restapi
docusign.account-id=x5e-d39f7ffaeec3xxxxxxxxxx
docusign.return-url=https://www.sample.com
这些属性在应用程序属性文件中设置 通过配置属性 @ConfigurationProperties 附加值
术语 BasePath、BaseUri 和 BaseUrl 令人困惑且使用不一致。
当您调用 apiClient.setOAuthBasePath()
时,这是一个路径,而不是 URL,它是 OAuth 服务器的基本路径,而不是 API。
因此您需要传递的值是“account-d.docusign.com”(或用于生产“account.docusign.com”),这就是您的问题。