DocuSign Connect是否可以使用基本的HTTP身份验证详细信息?

时间:2016-04-20 16:01:51

标签: docusignapi

我正在使用DocuSign connect在文档发生事件后更新我的应用程序的状态。

我已经设置了我的帐户:

enter image description here

目前我的发布网址"看起来与https://key:secret@example.herokuapp.com类似。然而,当我查看日志时,我似乎总是收到类似于:

的内容

error: Exception in EnvelopeIntegration.RunIntegration: key :: https://key:secret@example.herokuapp.com/webhook :: Error - The remote server returned an error: (401) Unauthorized

当我将信封数据本地复制到文件(complete-webhook.xml)并通过命令行运行以下命令时,它似乎成功运行:

curl -i -X POST -d @complete-webhook.xml https://key:secret@example.herokuapp.com/webhook

有没有人对这可能发生的原因有任何想法?

1 个答案:

答案 0 :(得分:1)

当您使用https://username:password@example.com/等网址时,您的客户端会获取网址的username:password部分并使用它来创建Authorization: Basic标头。

您可以自己尝试,创建requestb.in,然后使用curl命令

curl -X POST -d "fizz=buzz" http://username:password@requestb.in/12345
# where 12345 is your requestb.in address

requestb.in上的结果:

  1. /12345的请求(传入的网址不包含用户名或密码)
  2. 请求包含标头Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
  3. 如果您将dXNlcm5hbWU6cGFzc3dvcmQ=放入base64解码器,则会获得username:password

    答案,此时,Connect系统在调用侦听器时不支持发送基本身份验证信息。我已提交内部功能请求。

    解决方法

    您的侦听器网址可以包含用作密码的查询参数。例如。 `example.com/webhook/?pw=9e47a953-c105-44c5-ba5c-4bb77d63694d

    然后,在您的侦听器中,只需拒绝任何不包含pw查询参数和您选择的值的请求。

    在向听众发出的请求中,Connect系统将使用您在添加Connect订阅时最初设置的任何查询参数。