从 Oauth2 DocuSign API 隐式授权获取用户信息

Posted

技术标签:

【中文标题】从 Oauth2 DocuSign API 隐式授权获取用户信息【英文标题】:Get Userinfo from Oauth2 DocuSign API Implicit Grant 【发布时间】:2016-12-21 01:14:11 【问题描述】:

在收到来自隐式授予 oauth2 调用的访问令牌 (response_type=token) 后,我正尝试从 DocuSign API 获取用户信息。

我的代码如下所示:

request = $.ajax(
  type: 'GET',
     xhrFields: withCredentials: true,
     beforeSend: function(xhr) 
      xhr.setRequestHeader('Authorization', DSaccesstoken);
       ,
     url: DSuserurl 
   );

request.done (function (response, textStatus, jqXHR) 
 alert(response); 
 

request.fail(function (jqXHR, textStatus, errorThrown)
   alert("Error retrieving DocuSign User Account Information: " + textStatus + " " + errorThrown + ". "); 
   );

);

几点... DSaccesstoken 是一个包含“从Docusign 接收到的承载访问令牌”的变量。代码执行成功,但响应数据在假设包含 json 时看起来像 html。我也试过datatype: 'json',但这也不起作用。我也尝试使用 headers: 'Authorization': DSaccesstoken 而不是 beforeSend,但这也没有用。

我假设标头没有正确传递给 DocuSign,但我不能 100% 确定。有谁知道我做错了什么?仅供参考,我正在使用 PhoneGap Build 服务来创建移动应用程序。

【问题讨论】:

抱歉,您需要提供更多信息。目前尚不清楚用户是否已正确验证。是否要求他登录? 更多信息: 更多信息:显然我的代码正确传递了授权标头。我的 DocuSign 沙箱和集成密钥被定义为“这是一个移动应用程序”。我的返回 uri 是 localhost/callback。问题是 DocuSign 抛出以下错误: "errorCode":"RESOURCE_NOT_FOUND","message":"The URL provided does not resolve to a resource." 有没有人在尝试使用隐式 oauth 检索用户信息时收到此错误? 【参考方案1】:

两件事:

    标头应为 'Authorization': 'Bearer' + DSaccesstoken。 由于 CORS 限制,客户端不允许使用 DocuSign Rest API。如果您从类似浏览器的一侧调用它,您可能会考虑设置代理服务器(例如使用节点)。该代理服务器将接收 ajax 调用并将它们重定向到 DocuSign API。您可以使用DocuSign official NPM package。

【讨论】:

以上是关于从 Oauth2 DocuSign API 隐式授权获取用户信息的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jwt Oauth2 授权的 Docusign 嵌入式签名,无需客户登录/同意

从docusign REST API收集与安全相关的事件吗?

Instagram API:范围是不是适用于 OAuth2 隐式身份验证流程?

Azure api OAuth2 隐式流适用于 http 但不适用于 htt

模拟 (API) 和信封限制

无法使用DocuSign管理API更新用户资料 [docusignapi] 。