【问题标题】:DocuSign JWT Grant flow Consent_Required for blanket consentDocuSign JWT 授权流程 Consent_Required 获得一揽子同意
【发布时间】:2020-10-23 18:53:53
【问题描述】:

我们已经实现了JWT grant flow 并为integration key 提供了blanket consent,但是在模拟此帐户下的注册用户和活跃用户时出现consent required 错误。

  • 我们已启用 SSO
  • 所有用户都属于同一个域
  • impersonation signature 范围内提供一揽子同意

我如何尝试使用 DocuSign 的 C# SDK 为模拟用户获取访问令牌:

string BaseUrl = "https://demo.docusign.net/restapi";
string oAuthBasePath = "account-d.docusign.com";
var apiClient = new DocuSign.eSign.Client.ApiClient(BaseUrl, oAuthBasePath, null);

    //Get access token using admin account
    OAuth.OAuthToken tokenInfo = apiClient.RequestJWTUserToken(Integration_Client_Key, UserId, oAuthBasePath, Encoding.UTF8.GetBytes(RSAPrivateKey), 1, Scopes);
    OAuth.UserInfo userInfo = apiClient.GetUserInfo(tokenInfo.access_token);
    var account = userInfo.Accounts.FirstOrDefault(a => a.AccountId == AccountId);
    apiClient = new ApiClient(BaseUrl, oAuthBasePath, null);
    
    //Get user's UserId(GUID) to impersonate
    var impersonateUserId = await SignatureHandlerEmailId(signatureHandlerEmailId, tokenInfo.access_token);
    
    //Get access token using impersonate userId
    tokenInfo = apiClient.RequestJWTUserToken(Integration_Client_Key, impersonateUserId, oAuthBasePath, Encoding.UTF8.GetBytes(RSAPrivateKey), 1, Scopes);
    userInfo = apiClient.GetUserInfo(tokenInfo.access_token); //-- Here exception getting thrown for consent

在发送请求之前,url 我正在传递,或者configuration 需要做任何其他事情吗?

【问题讨论】:

  • 欢迎来到 StackOverflow!请检查(接受)您每个问题的最佳答案。谢谢,这有很大的不同!

标签: docusignapi


【解决方案1】:

您有 SSO 和 demo.docusign.net 的声明域?

您正在使用演示 IdP (account-d.docusign.com)。它是与生产 IdP account.docusign.com 完全不同的 IdP。

由于您使用的是 account-d.docusign.com,因此您需要使用 demo.docusign.net org 管理工具为其声明电子邮件域。

添加:检查您声明的电子邮件域

此信息可通过 DocuSign 组织管理工具的部分获得。

请参阅docs

增加了一些

您还可以通过 Org Admin API 方法ReservedDomains:getReservedDomains以编程方式获取组织声明域的列表

【讨论】:

  • 我如何确保/检查域是否针对特定环境演示/生产声明?
  • 除了查看 DocuSign 组织管理工具的“域”部分之外,还有其他方法可以确保域未被声明吗?
  • Larry K 我是否遗漏了 API 调用配置或代码中的错误,因为我们确认了域声明的事情。该域已声明并处于活动状态
  • 如果您仍有问题,请打开一个新问题或发送电子邮件至 go-liveATATdocusign.com。
【解决方案2】:

另一个条件是声明一个域。
你可以参考这个方法guide
另外这篇博文有一个很棒的info

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多