为DocuSign API创建有效的JWT令牌

时间:2020-09-07 18:06:55

标签: c# jwt docusignapi

我尝试创建有效的jwt令牌

从设置中,我创建了一个RSA密钥对,并且得到了没有“ ----- BEGIN RSA PRIVATE KEY ---------- END RSA PRIVATE KEY -----”的私钥。 “

fieldset {
  border: 2px solid gray;
  margin: 0.5rem auto;
}

legend {
  font-weight: bold;
}

label {
  display: block;
  margin: .5rem;
  white-space: nowrap;
  width: 100%;
}


/*legend>*{text-align:center;}*/

input[type=radio] {
  float: left;
  margin-right: .5rem;
}

.submit-button {
  display: block;
  margin: .5rem auto;
  text-align: center;
}

我按照https://developers.docusign.com/docs/admin-api/admin101/application-auth/的说明进行操作,经过几个小时,我创建了此方法

<div id='quiz-area'>

  <fieldset>
    <legend>What is the capital of Indonesia?</legend>
    <label><input type="radio" class="quiz-choices" id="indonesia-jakarta-0" name="Indonesia" value="Jakarta">Jakarta</label>
    <label><input type="radio" class="quiz-choices" id="indonesia-kuala-lumpur-0" name="Indonesia" value="Kuala Lumpur">Kuala Lumpur</label>
    <label><input type="radio" class="quiz-choices" id="indonesia-manila-0" name="Indonesia" value="Manila">Manila</label>
    <button type="button" value="Jakarta">Submit</button>
  </fieldset>

  <fieldset>
    <legend>What is the capital of Malaysia?</legend>
    <label><input type="radio" class="quiz-choices" id="malaysia-jakarta-1" name="Malaysia" value="Jakarta">Jakarta</label>
    <label><input type="radio" class="quiz-choices" id="malaysia-manila-1" name="Malaysia" value="Manila">Manila</label>
    <label><input type="radio" class="quiz-choices" id="malaysia-kuala-lumpur-1" name="Malaysia" value="Kuala Lumpur">Kuala Lumpur</label>
    <button type="button" value="Kuala Lumpur">Submit</button>
  </fieldset>

  <fieldset>
    <legend>What is the capital of Philippines?</legend>
    <label><input type="radio" class="quiz-choices" id="philippines-jakarta-2" name="Philippines" value="Jakarta">Jakarta</label>
    <label><input type="radio" class="quiz-choices" id="philippines-kuala-lumpur-2" name="Philippines" value="Kuala Lumpur">Kuala Lumpur</label>
    <label><input type="radio" class="quiz-choices" id="philippines-manila-2" name="Philippines" value="Manila">Manila</label>
    <button type="button" value="Manila">Submit</button>
  </fieldset>

</div>

当我在此工具https://jwt.io/#debugger-io中检查JWT验证时,出现无效签名错误。

我该如何修复令牌?我无法继续执行步骤2获取访问令牌...

1 个答案:

答案 0 :(得分:1)

对不起,您在JWT方面遇到问题。我建议您使用DocuSign C#SDK,而不要尝试编写自己的代码。 然后,您可以在此处找到如何使用JWT的示例-https://github.com/docusign/code-examples-csharp。 与JWT相关的特定代码在此处-UpdateUserFromJWT()方法下的https://github.com/docusign/code-examples-csharp/blob/38c2eb46948a3cbf55edcce758f88d775f80cae9/launcher-csharp/Common/RequestItemService.cs

JWT的常见问题:

  1. 未获得同意。
  2. 使用公共令牌而不是私有令牌。
  3. 使用格式错误的令牌。令牌必须完全相同,包括提供的换行符。
  4. 在请求中未使用正确的UserId(GUID)。
  5. 未请求同意的“模拟”范围(上述第一项)。