首页 > 解决方案 > 对授权码授予感到困惑

问题描述

我正在尝试通过调用(从浏览器)开始实施授权代码授予:

https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature&client_id=1ee7dba4-ca87-4451-8b82-a5df0d95fa41&state=a39fh23hnf23&redirect_uri=http://localhost:4000/docusign/authGrantReturn/

有时我被要求输入登录名/密码,它总是告诉我响应类型不受支持或用户/密码无效。我找到了这个先前的答案(授权代码授予错误:无效的身份验证请求),但没有找到讨论的复选框。

否则,它会回调我的重定向 url(在 node 中处理),并为我提供一个“代码”并返回我之前发送的“状态”,这开始了我的困惑:

我使用 fetch 库发出一个 http 请求,如下所示:

let combination = `${integrationKey}:${secretKey}`;
let b64Combination = Buffer.from(combination).toString('base64');

fetch('https://account-d.docusign.com/oauth/token?grant_type:authorization_code&code='+b64Combination,{
    method: 'GET',
    headers: { 'Authorization': 'Basic ${b64Combination}', 'Content-Type': 'application/x-www-form-urlencoded',  'Content-Encoding': 'gzip'}
})
.then...

但这会在正文中返回 html 内容。

  1. 这是否意味着我应该从浏览器而不是节点调用https://account-d.docusign.com/oauth/token ?

  2. 当它要求我登录时,我是否要使用我的沙盒帐户凭据?还是普通docusign用户的凭据?

对不起,这个困惑的问题......

最好的问候,阿德里安。

标签: docusignapi

解决方案


我建议您使用 DocuSign nodeJS SDK 和代码示例。

https://github.com/docusign/eg-03-node-auth-code-grant

按照此处的说明进行操作,此代码非常简单,如果您更新所有信息 - 它就可以工作。然后,您可以查看如何根据需要对其进行修改。(对于你的第二个问题,是的,现在你在构建/测试你的应用程序时使用你的沙盒信用)


推荐阅读