根据开发工具包的文档和GitHub存储库,ConfigureJwtAuthorizationFlow和ConfigureJwtAuthorizationFlowByKey已被弃用,应使用RequestJWTUserToken。我正在遵循示例,并使用官方的NuGet DocuSign 3.0.1.0包。这个方法似乎甚至在存储库中都不存在?应该使用什么,有谁有关于如何完成这一点的建议吗?
下面是我正在使用的示例代码块:
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;
}
}发布于 2018-11-05 02:48:43
RequestJWTUserToken方法接受私钥字节或流。示例代码仍然使用字符串变量。请将示例代码更新为使用字节。
//私钥流-在这里添加您的私钥流私有只读字符串PRIVATE_KEY_BYTES = "PRIVATE_KEY_BYTES";
var tokenInfo = apiClient.RequestJWTUserToken(IntegratorKey,UserID,oAuthBasePath,PRIVATE_KEY_BYTES,1);
发布于 2018-09-27 02:48:44
它在当前版本中。请参阅ApiClient.cs的第990行
https://stackoverflow.com/questions/52500656
复制相似问题