我在我的 java 微服务中使用 docusign。 为了连接到 docusign,我使用存储在 azure 保险库中的私钥/值。 我能够从保险库中获取价值。当我尝试将其转换为字节并将其发送以从 docusign 请求 JWTUserToken 时, 我收到错误“无法调用“org.bouncycastle.util.io.pem.PemObject.getContent()”,因为“pemObject”为空”。不知道出了什么问题。
我在这个链接中看到,我们必须像下面这样。
File inFile = new File(filePath);
Reader reader = new FileReader(inFile);
PemReader pem = new PemReader(reader);
PemObject pemObject = pem.readPemObject();
byte[] bytes = pemObject.getContent();
但是我没有文件,我所读取的只是一个转换为字节的字符串。不知道这里出了什么问题。任何线索...
我的代码: byte [] bytes = myConfigMap.getVaultSecretsMap().get("privatekey").getBytes();
apiClient.requestJWTUserToken(
);
您显示的代码块是我们从文件中获取关键字节的过程的一部分。
如果您从不同的来源获取字节,您可以使用如下方式请求令牌:
ApiClient apiClient = new ApiClient(configuration.getBasePath());
byte[] privateKeyBytes = Files.readAllBytes(Paths.get(configuration.getPrivateKeyPath()));
OAuth.OAuthToken oAuthToken = apiClient.requestJWTUserToken(
configuration.getUserId(),
configuration.getImpersonatedUserId(),
scopes,
privateKeyBytes,
TOKEN_EXPIRATION_IN_SECONDS);
String accessToken = oAuthToken.getAccessToken();
OAuth.UserInfo userInfo = apiClient.getUserInfo(accessToken);
String accountId = userInfo.getAccounts().size() > 0 ?
userInfo.getAccounts().get(0).getAccountId()
: "";
请在此处查看我们推荐的代码Java 代码。
问候 阿德里安 DS