【发布时间】:2021-06-13 04:52:11
【问题描述】:
尝试使用完全后端 java 进程从 DocuSign 读取特定信封的数据......经过反复试验,我获得了带有 JWT 授权的 AccessToken,但在请求实际数据时仍然出现授权错误:(
- 定义了新的集成密钥 9xxx7e
- 用户应用程序:授权码授予
- 未添加任何秘密
- 服务集成 - 上传公共 RSA 密钥
- 添加了一个重定向 URI(不管我不需要)
- 相应链接的手动确认:https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature%20impersonation&client_id=9xxx7e&state=123&redirect_uri=https://my.redirect.net/DocuSign ...假设它只是一次性操作
- 使用 java 代码成功请求访问令牌(使用 com.docusign:docusign-esign-java:3.10.1)
ApiClient = new ApiClient(ApiClient.DEMO_REST_BASEPATH);
OAuthToken token = apiClient.requestJWTApplicationToken(integrationKeyJwt, scopes, privateKeyFileContent, 3600);
- 尝试使用简单的 HttpGet 获取信封数据
HttpGet request = new HttpGet("https://demo.docusign.net/restapi/v2.1/accounts/6xxx1e/envelopes");
request.addHeader("Content-Type", "application/json");
request.addHeader("Authorization", "Bearer " + token.getAccessToken());
- 但仍收到 401 响应内容:
{"errorCode":"AUTHORIZATION_INVALID_TOKEN","message":"The access token provided is expired, revoked or malformed. Authentication for System Application failed."}
请问有什么问题吗?如何获取正确的Access Token?
P.S.:我也尝试在没有 JWT 或隐式授权的情况下获得授权代码授予,但没有浏览器的强硬就没有运气:(
【问题讨论】:
标签: java jwt docusignapi