【问题标题】:Docusign and service Authentication : invalid requestDocusign 和服务认证:无效请求
【发布时间】:2017-10-27 18:58:20
【问题描述】:

我正在尝试使用服务身份验证机制进行登录。但收到无效请求。我已使用节点 jsonwebtoken 包创建了 JWT。以下是我遇到的错误。

复制 JWt 创建逻辑

var jwt = require('jsonwebtoken');

var fs = require('fs');

//creating the payload for docusign

var payload = {
  "iss": "cb91877d-1d55-48ae-88d7-fd215c4fe2ca",
  "sub": "6cd4ea4e-3e68-4994-88b1-a321847cbf7e",
  "iat": 1508868716,
  "exp": 1508869916,
  "aud": "account-d.docusign.com",
  "scope": "signature",
    "nbf":1508868716, 
 "name": "neeush"
}

var cert = fs.readFileSync('private.pem');  // get private key

var token = jwt.sign(payload, cert, { algorithm: 'RS256'});

你能找到同样的问题吗?

enter image description here

【问题讨论】:

  • 在发布之前格式化代码。
  • 您的 DS 帐户中是否启用了 OrgAdmin 功能?并且高于由 DocuSign 创建的 private.pem?
  • 不,我没有启用 OrgAdmin 功能。我使用了用户特定的帐户。关于私钥,是的,它是使用 DocuSign 生成的。我复制了私钥并将内容放在文本文件中并将其命名为“private.pem”。
  • 什么 "nbf":1508868716, "name": "neeush" 在这个请求中,在 DocuSign JWT 中没有这样的字段?

标签: node.js docusignapi json-web-token


【解决方案1】:
var jwt = require('jsonwebtoken');
var fs = require('fs');

//creating the payload for docusign
var payload = {
  "iss": "cb91877d-1d55-48ae-88d7-fd215c4fe2ca",
  "sub": "6cd4ea4e-3e68-4994-88b1-a321847cbf7e",
  "iat": 1509096042,
  "exp": 1509099042,
  "aud": "account-d.docusign.com",
  "scope": "signature impersonation",
  "name" :"name value" //not required
}

var cert = fs.readFileSync('private.pem');  // get private key
var token = jwt.sign(payload, cert, { algorithm: 'RS256'});
console.log(token)

console.log('---------------------------------------------------');
//printing the token to a file
fs.writeFile('jwttoken.txt', token, function (err) {
    if (err) 
        return console.log(err);

});

当使用此生成的令牌时,可以正确发布。 早些时候,令牌被打印在控制台上并从那里复制,这造成了问题。 @Larry K 感谢您对范围声明的帮助。

【讨论】:

    【解决方案2】:

    删除 nbf 和名称声明。

    将范围声明更改为“签名模拟”

    https://docs.docusign.com/esign/guide/authentication/oa2_jwt.html#creating-the-jwt-token

    【讨论】:

    • 嗨拉里,我从有效负载中删除了 nbf 和名称声明。还将范围声明更新为“签名模拟”。它仍然给出相同的响应。
    • 大家好,我能够完成身份验证。问题是由于我在控制台上打印令牌并且在复制时出现了新行。当我在文件上打印相同的内容时,我可以登录。感谢您的帮助。我将在下面发布工作代码。
    猜你喜欢
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多