【问题标题】:"Bad Request" message in JWT OAuth authentication flowJWT OAuth 身份验证流程中的“错误请求”消息
【发布时间】:2019-07-17 01:55:38
【问题描述】:

我已按照文档中的所有说明生成 JWT 令牌,但只收到“错误请求”作为响应...

当我尝试运行 eg-01-php-jwt 时,也会发生同样的情况。我正在使用 DocuSign 演示环境并使用 Postman 和 curl 模拟请求

我正在做的步骤是:

  1. 生成授权uri为https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature%20impersonation&client_id=c0c3e3b4-87ec-46e6-afad-9f8cf9dda84c&redirect_uri=http://example.com/api/docusign/obtain-consent/callback
  2. 填写不同docusign沙箱账户的登录名和密码
  3. 在重定向的 uri 中,我获取 code 参数并在 jwt.io 解码,从 header 获取 child 值
  4. 使用 sub 的 Kid 值生成新的 jwt 令牌
  5. 用我的私钥签署 jwt 令牌
  6. 尝试获取访问令牌并接收“错误请求”作为响应消息

我(更新)生成的令牌是

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJjMGMzZTNiNC04N2VjLTQ2ZTYtYWZhZC05ZjhjZjlkZGE4NGMiLCJzdWIiOiI2ODE4NWZmMS00ZTUxLTRjZTktYWYxYy02ODk4MTIyMDMzMTciLCJpYXQiOjE1NTExMDA0MDksImV4cCI6MTU1MjEwMDQwOSwiYXVkIjoiYWNjb3VudC1kLmRvY3VzaWduLmNvbSIsInNjb3BlIjoic2lnbmF0dXJlIGltcGVyc29uYXRpb24ifQ.I1LhY77Rd0-op6UE3zUQvA5UxXIBzHUMyhhrwSN_TBv9ghiNAOr2aVz8Glf16bulkqSrE6A67h3DvL_VDm5NpNzcDQttjlf-CtlnBrjyt2w1niZkYnlmrUXW3SofDJkNHEj9-zQOa2XBrzTOLIhD6g2V0adBe45mwwGpMpOu0oPameUseDVEBeQ50mCZcyiMGYazEA0qeE9Ws9Rb7GxZxmOIZXaWirohmJhNfic5wHprJvA6tTwxai5-4xAwnhrjpsOWKoQRxXRkCKKcIIrKf8SEz4KOH2RCUBqMZRGys81CIDtowtLoDUeMCRKTaxnbrCFax4blJSZ8X3ptyneVpw

更新@2019-02-26

为了实现我想要的,我需要完成授权代码流程,从第 4 步获取用户帐户 ID(检索用户数据),最后生成带有该信息的 jwt 令牌作为有效负载中的 sub

【问题讨论】:

    标签: docusignapi


    【解决方案1】:

    该断言以前仅包括 signature 范围。 JWT 身份验证需要signature impersonation

    既然已经更新,还有其他几个可能的问题:

    • 用户 ID 无效。 JWT 断言需要在 sub 字段。如果用户已关闭或 ID 不正确,这将 失败。

    • 签名无效。 JWT 断言必须使用 RSA 签名 与 iss / 正在使用的客户端 ID 关联的私钥。如果有 是任何无效/编码字符或尾随空格,签名 可能无效。

    我建议通过 DocuSign 支持打开一个案例。在您这边,您只会收到错误invalid_grant。支持端日志记录将有更具体的错误。为协助解决问题,请在开立案例时提供以下信息:

    • 集成商密钥
    • 模拟账户 ID
    • JWT 断言
    • x-DocuSign-TraceToken 标头值

    【讨论】:

    • 我已经尝试过了,但没有成功...添加了我在尝试获取访问令牌时遵循的流程
    • 问题出在我遵循的流程上...用正确的流程更新了问题!谢谢!
    猜你喜欢
    • 2016-11-14
    • 2016-07-05
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2016-08-17
    • 2017-11-29
    • 1970-01-01
    • 2014-06-07
    相关资源
    最近更新 更多