我创建了一个.net MVC示例应用程序。现在当我第一次启动应用程序时,它会调用DocuSign API并给我访问代码并使用我获得的帐户ID和URL。我然后再停止运行它我需要遵循相同的程序,所以是否有任何选项来获取或验证应用程序一次。见下面的代码。注意我正在使用试用沙盒环境。
public ActionResult Index()
{
ApiClient apiClient = new ApiClient(RestApiUrl);
DocuSign.eSign.Client.Configuration.Default.ApiClient = apiClient;
//Initiate the browser session to the Authentication server
//so the user can login.
string accountServerAuthUrl = apiClient.GetAuthorizationUri(client_id, redirect_uri, true, stateOptional);
System.Diagnostics.Process.Start(accountServerAuthUrl); // This always open in browser docusign login
return View();
}
返回网址...
[HttpGet]
public ActionResult GetRes()
{
AccessCode = Request.QueryString["code"];
// state is app-specific string that may be passed around for validation.
StateValue = Request.QueryString["state"];
// Signal the main test that the response has been received.
return new HttpStatusCodeResult(200);
}
使用代码获取帐户ID
ApiClient apiClient = new ApiClient(RestApiUrl);
DocuSign.eSign.Client.Configuration.Default.ApiClient = apiClient;
string accessToken = apiClient.GetOAuthToken(client_id, client_secret, true, AccessCode);
// login call is available in the authentication api
AuthenticationApi authApi = new AuthenticationApi();
LoginInformation loginInfo = authApi.Login();
// parse the first account ID that is returned (user might belong to multiple accounts)
AccountId = loginInfo.LoginAccounts[0].AccountId;
BaseUri = loginInfo.LoginAccounts[0].BaseUrl;
是否有任何其他应用程序验证过程或示例代码可以帮助我。 谢谢
答案 0 :(得分:1)
我假设您正在尝试使用User Application而不是Service Integration。您正在尝试的内容称为Authorization Code Grant。在Authorization Code Grant
中,您需要通过打开网址向用户表示同意,一旦获得您的同意,您将使用DocuSign的OAUTH2 API中的网址返回的代码生成AccessToken
和{{1} }。 RefreshToken
AccessToken
和short-lived
会在几个小时内完成,will expire
到期后,您必须使用AccessToken
生成一组新的RefreshToken
和AccessToken
。 RefreshToken
通常只有Refresh tokens
来访问令牌,但他们longer lifetime
。要通过尽可能长的生命周期请求刷新令牌(取决于帐户和系统安全策略),请在通过URL进行初始身份验证请求时使用do expire
范围。在调用DocuSign API之前,请检查当前时间与到期时间。如果它在阈值范围内,请使用刷新令牌获取新的访问令牌。如果对刷新操作的响应是错误,则需要通过要求用户再次登录来重复初始身份验证流程。
答案 1 :(得分:0)
DocuSign API目前有两种主要的身份验证模式:
这里有两个都可以参考(感谢Amit K Bist)https://docs.docusign.com/esign/guide/authentication/auth_overview.html
首先,您需要将名为“Big Corp”的应用程序的系统发件人帐户作为“经过身份验证的系统用户”。然后,您将发送可以“发送”的其他用户的代表(SOBO),而不是可以查看的用户。
我不建议使用“Prod”试用帐户,请确保您使用的是“Demo Sandbox”。
您需要打开此处讨论的SOBO功能https://docs.docusign.com/esign/guide/authentication/sobo.html
提醒您,您可以按照此DocuSign支持文章https://support.docusign.com/guides/ndse-user-guide-api-request-logging中所述的步骤捕获API调用发布的确切JSON / SOAP请求