如何在nodejs中使用docusign-esign进行身份验证

问题描述 投票:0回答:1

我正在尝试使用 docusign-esign 进行身份验证,但是文档中并不清楚如何执行此操作。

用例是我不代表用户执行操作,我想使用我的服务来创建信封并获取信封信息。

从文档中我相信 JWT 令牌是最好的方法。

到目前为止我已经:

const apiClient = new ApiClient();
apiClient.setOAuthBasePath('https://demo.docusign.net/restapi');
apiClient.setBasePath('account-d.docusign.com');

// integrationKey and privateKey come from https://admindemo.docusign.com/apps-and-keys
const token = await apiClient.requestJWTApplicationToken(integrationKey, ['signature'], Buffer.from(privateKey), 600);

上述通话的响应是:

body: {
    access_token: 'eyJ0eX...',
    token_type: 'Application',
    expires_in: 28800
}

现在我的理解是,我应该将此应用程序令牌交换为访问(承载)令牌,在向 API 发出请求时,我必须在授权标头中使用该令牌。我注意到 docusign-esign 包有一个功能

generateAccessToken
但似乎这仅适用于授权代码授予。

我之前解释的正确方法是继续进行吗?如何从上面的应用程序令牌获取访问令牌?如果不是,使用 docusign 正确验证我的应用程序的正确方法是什么,以便我可以致电

.getEnvelope(accountId, envelopeId)
。在 DocuSign 仪表板中的设置方面我还应该做些什么吗?

node.js docusignapi docusign-sdk
1个回答
0
投票

您是对的,JWT 身份验证更适合您的用例。

但是,您请求了 JWT 应用程序令牌,该令牌仅对某些端点有用。

您正在寻找 requestJWTUserToken() 函数,因为它代表用户进行身份验证。您可以在here

找到有关如何使用此功能的文档

我还注意到您只请求“签名”范围。对于 JWT,还需要“模拟”范围,因为它确实模拟用户以代表他们执行操作。请参阅使用 JWT 进行身份验证的文档此处

© www.soinside.com 2019 - 2024. All rights reserved.