为JWT用户令牌调用DocuSign API时请求错误.同意



我正在使用DocuSign API请求JWT用户令牌:

with open('docusign.pem', mode='rb') as privatefile:
private_key_bytes = privatefile.read()
api_client = ApiClient()
oauth_host_name = 'account-d.docusign.com'
# not real, random:
client_id = 'dff16ff1-de93-477d-a73d-3774ac9932dc'
user_id = '7401f22e-ff2c-4777-9117-5932ace2e71a'
expires_in = 3600
result = api_client.request_jwt_user_token(client_id, user_id,
oauth_host_name,
private_key_bytes,
expires_in,
scopes=(OAuth.SCOPE_SIGNATURE,))

返回:

(400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache', 'Pragma': 'no-cache',
'Content-Type': 'application/json; charset=utf-8', 'Expires': '-1', 'Server':
'Microsoft-IIS/10.0', 'X-AspNetMvc-Version': '5.2', 'X-DocuSign-TraceToken':
'c1d090b7-cefd-4881-80c6-3f1c55ccc5b4', 'X-Content-Type-Options': 'nosniff',
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload,
max-age=15768000', 'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block;
report=/client-errors/xss', 'X-DocuSign-Node': 'DA2DFE179', 'Date':
'Sun, 23 Aug 2020 15:18:46 GMT', 'Content-Length': '28'})
HTTP response body: b'{"error":"consent_required"}'

那么如何获得";同意";。本页有两个部分";内部申请的行政许可";以及";外部应用程序的管理员同意":

DocuSign获得同意

我不知道如何在沙箱中获得同意。它已经说";DS管理员";在";许可配置文件";用于DocuSign中的用户。

更新

我使用了第二种技术";内部申请的行政许可";以获得对设置的同意:

admin_consent_scope=impersonation
response_type=code
scope=openid

我在DocuSign网站上收到的消息不是登录:"您不是组织管理员。请联系您的DocuSign管理员">

如何要求DocuSign在我的开发人员帐户上启用此功能?

请参阅这篇关于同意的博客文章。

请注意,被模拟的用户需要同时同意signature作用域(如果您正在使用eSignature功能(和impersonation作用域。

对于个人同意,两个范围由一个空格分隔,该空格应输入为编码值%20

示例:

https://account-d.docusign.com/oauth/auth?
response_type=code
&scope=signature%20impersonation
&client_id=YOUR_INTEGRATION_KEY

要使用管理员同意,您必须有一个组织。这需要您注册域名并使用DNS记录进行确认。虽然这是推荐的方法,但它有点复杂。我会考虑使用个人同意让你现在不被阻止。要做到这一点,你只需要构建一个像这样的URL:

https://account-d.docusign.com/oauth/auth?
response_type=code
&scope=YOUR_REQUESTED_SCOPES
&client_id=YOUR_INTEGRATION_KEY
&redirect_uri=YOUR_REDIRECT_URI

然后继续同意并忽略您返回的代码。之后,您可以使用JWT获取令牌。&redirect_uri=YOUR_redirect_uri

相关内容

最新更新