【问题标题】:DocuSign C# API - USER_LACKS_MEMBERSHIP error for every token-authenticated requestDocuSign C# API - 每个令牌认证请求的 USER_LACKS_MEMBERSHIP 错误
【发布时间】:2021-03-14 19:29:44
【问题描述】:

我们有一个可以工作的应用程序,我们经历了上线过程,并​​且一切都运行了几天。然后我们开始收到 SSL 错误,我们看到 DocuSign 包的 nuget 包有一个更新(我相信这都是为了 11/13/2019 2019 证书自动更新),所以我们更新了我们的代码,但现在每个request 为每个经过令牌验证的请求返回 USER_LACKS_MEMBERSHIP 错误。

我可以确认的不是问题:

  • 我们已通过 account.docusign.com 和 oauth 签名模拟范围对应用进行了身份验证,并且测试和实时路径位于 API 批准的重定向 URI 中。
  • 我们在配置中有正确的基本路径(https://na3.docusign.net,如我们的应用和密钥页面所示)
  • 在我们取回令牌后基本路径没有改变(Account 对象上的 BaseUri 与我们开始时的匹配)
  • 我们使用正确的用户进行配置(应用程序和密钥页面中标记为“API 用户名”的值在 appsettings.json 中输入为“IMPERSONATED_USER_GUID”,并成功用于创建令牌作为参数 UserID,这也匹配我们的用户帐户 ID 显示在后端,因此我们不会将其与 TARGET_ACCOUNT_ID 或 CLIENT_ID 混淆,并且在令牌生成步骤中更早地将它们混在一起会导致错误)。

我们只有一个用户:DocuSign 帐户的管理员。他们的 ID 出现在标记为“API 用户名”的 API 配置中。 DocuSign 管理后端不会在任何地方显示会员选项卡,以便我们更正缺少会员资格的用户可能出现的任何问题。据我所知,会员资格是比我们支付的更高级别的帐户选项,所以我很困惑我们怎么会遇到我们没有购买的功能的问题。

我们在检查信封状态时收到此错误。我们在尝试创建新信封时收到此错误。我们在尝试获取帐户信息时收到此错误。我们唯一能做的就是获得一个身份验证令牌,但是该令牌不能用于发出任何进一步的身份验证请求。

除了我无法通过我可用的工具更正的 DocuSign 上的一些数据库错误之外,我还缺少什么可能导致此问题吗?包更新改变了哪个类构造函数接受ApiClient对象的顺序,并且Configuration类上有一个新的AccessToken字段(我填写了,但似乎没有任何效果,因为我们仍在添加Authorization /手动承载头)。我不知道下一步该尝试什么。

【问题讨论】:

  • 是的,这就是我包含第 4 个要点的原因。我们绝对使用了正确的用户,他是活跃的,并且我已经在我列出的四个不同位置验证了用户 ID。还有其他想法吗?
  • 当您进行 API 调用时,您还传递了一个 accountId,它也应该匹配。所以你有 userId 和 AccountID 并且它们必须来自同一个帐户
  • 我肯定也会在个人请求中发送正确的 ID。您在信封Api.CreateEnvelope 上谈论的参数标记为accountID,我在那里使用TARGET_ACCOUNT_ID。提供的一组结构相同的 GUID 中的任何其他 ID 都会导致 PARTNER_AUTHENTICATION_FAILED 错误。仅发送 TARGET_ACCOUNT_ID(请注意,正如我在最初工作时所做的那样)会导致 USER_LACKS_MEMBERSHIP 错误。如果错误是您建议的地方,我不会将 USER_LACKS_MEMBERSHIP 作为错误。

标签: c# docusignapi


【解决方案1】:

您使用的是生产环境还是演示环境? 我怀疑正在发生的事情是您将它们混合在一起。由于 baseUrl 不应该是 demo.docusign.net 等,如果您正在使用生产(如您的 na3.docusign.net 地址所示),但您必须确保也使用来自生产的相同帐户/用户。 所以,要检查的 4 件事:

  1. 用户ID
  2. accountId.
  3. baseURI
  4. authURI(account-d.docusign.com 与 account.docusign.com)

所有这些都应匹配并用于同一环境中的同一帐户。

【讨论】:

  • 是的,请参见要点 #1、#2 和 #4。这些并没有混淆。他们是正确的。它们都是活的价值。我已经检查了很多次,这就是为什么我说我在发帖时已经检查了这些。
  • 您使用的是 C# SDK 吗?你能用邮递员重现这个吗?
  • 我使用的是 C# SDK,这就是我在帖子中提到 nuget 包的原因。我以前没有使用过邮递员,但是由于CORS而失败了。不确定它会有什么帮助,因为它可能会做与 SDK 正在做的事情相同的事情。邮递员是否有任何简单的 DocuSign 设置选项?还是我必须手动设置整个 oauth 令牌请求和使用?我希望我不必最终调试 SDK 本身。
  • 我想知道您呼叫的网址?这就是我提到邮递员的原因
  • 我只是在没有完整的 oauth 身份验证的情况下测试端点,看看我是否会得到未经授权的响应,但 CORS 阻止邮递员(浏览器版本)到达它。 na3.docusign.net/restapi/accounts/[ACCOUNT ID REMOVED] 我应该得到的是 PARTNER_AUTHENTICATION_FAILED,就像我在浏览器中输入了 URL。
猜你喜欢
  • 2020-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-02
  • 2021-09-17
  • 1970-01-01
  • 2020-11-01
  • 2015-06-30
相关资源
最近更新 更多