首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ApiClient方法RequestJWTUserToken在哪里?

ApiClient方法RequestJWTUserToken在哪里?
EN

Stack Overflow用户
提问于 2018-09-25 22:30:00
回答 2查看 1.1K关注 0票数 0

根据开发工具包的文档和GitHub存储库,ConfigureJwtAuthorizationFlow和ConfigureJwtAuthorizationFlowByKey已被弃用,应使用RequestJWTUserToken。我正在遵循示例,并使用官方的NuGet DocuSign 3.0.1.0包。这个方法似乎甚至在存储库中都不存在?应该使用什么,有谁有关于如何完成这一点的建议吗?

下面是我正在使用的示例代码块:

代码语言:javascript
复制
public class DocuSignEmbeddedTest
{
    ...

    public string JWTAuthLogin()
    {
        // we set the api client in global config when we configured the client 
        var apiClient = Configuration.Default.ApiClient;

        // Get your app specific Uri generated
        string oauthLoginUrl = GetAuthorizationURLforConsent();

        const string oAuthBasePath = "account-d.docusign.com";

        var tokenInfo = apiClient.RequestJWTUserToken(IntegratorKey, UserID, oAuthBasePath, PRIVATE_KEY_BYTES, 1);

        var userInfo = apiClient.GetUserInfo(tokenInfo.access_token);

        var accountId = string.Empty;

        foreach (var item in userInfo.Accounts)
        {
            if (item.IsDefault == "true")
            {
                accountId = item.AccountId;
                apiClient = new ApiClient(item.BaseUri + "/restapi");
                break;
            }
        }

        return accountId;
    }

    public string GetAuthorizationURLforConsent()
    {
        // we set the api client in global config when we configured the client 
        var apiClient = Configuration.Default.ApiClient;

        // Give consent to your app
        // Adding signature as out scope.
        var scopes = new List<string>
        {
            OAuth.Scope_SIGNATURE,
            OAuth.Scope_IMPERSONATION
        };
        const string redirectUrl = "<url>";

        var oauthLoginUrl = apiClient.GetAuthorizationUri(IntegratorKey, scopes, redirectUrl, OAuth.CODE, "test");

        return oauthLoginUrl.AbsoluteUri;
    }

    public void ConfigureApiClient(string basePath)
    {
        // instantiate a new api client
        var apiClient = new ApiClient(basePath);

        // set client in global config so we don't need to pass it to each API object.
        Configuration.Default.ApiClient = apiClient;
    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-11-05 02:48:43

RequestJWTUserToken方法接受私钥字节或流。示例代码仍然使用字符串变量。请将示例代码更新为使用字节。

//私钥流-在这里添加您的私钥流私有只读字符串PRIVATE_KEY_BYTES = "PRIVATE_KEY_BYTES";

var tokenInfo = apiClient.RequestJWTUserToken(IntegratorKey,UserID,oAuthBasePath,PRIVATE_KEY_BYTES,1);

票数 1
EN

Stack Overflow用户

发布于 2018-09-27 02:48:44

它在当前版本中。请参阅ApiClient.cs的第990行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52500656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档