我目前正在尝试构建一个后端系统,即没有应该使用 Echosign 发送文档以供签名的用户界面。
配置 Oath 令牌的页面需要重定向 URL,但显然我的应用程序没有 UI,因此也没有重定向 URL。
显然,我现在可以深入了解整个 OAuth 世界,但我希望快速使用他们的 API,而无需先了解 OAuth 的所有细节。所有示例似乎都基于 Web 界面场景,但对我而言并非如此。
任何指针将不胜感激。
我会联系 Adobe 支持。他们可以在您的 Adobe Sign 帐户中启用一个集成密钥,该密钥允许您与一个静态密钥集成,您可以使用该静态密钥与您的后端系统而不是 OAUTH 集成。
_bananabread 有正确的想法。请按照本网站上的步骤操作:
https://www.adobe.io/apis/documentcloud/sign/docs/step-by-step-guide/get-the-access-token.html
直到您使用 refresh_token 获得 JSON 响应,这就是您所需要的。
接下来,您需要发出一个刷新令牌请求,该请求在您每次需要使用它时刷新您的令牌并返回一个全新的 OAuth 令牌。
这是一个 Java 代码片段,它将刷新您获得的令牌:
HttpResponse response = null;
String access_token = "";
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost request = new HttpPost("http://api.echosign.com/oauth/refresh?"+
"refresh_token=tokenYouJustGot&" +
"client_id=clientIdUsedInPreviousSteps&"+
"client_secret=clientSecretUsedInPreviousStep"+
"grant_type=refresh_token");
request.addHeader("content-type", "application/x-www-form-urlencoded");
response = httpClient.execute(request);
String json = EntityUtils.toString(response.getEntity());
JSONObject jobj = new JSONObject(json);
access_token = jobj.getString("access_token");
access_token 字符串现在将包含一个全新的 OAuth 访问令牌,您可以将其用于任何请求,即 POST 或 GET。
过去我能够做这样的事情的唯一方法是最初遵循默认的身份验证过程,然后一旦你有了访问令牌,你就可以创建一个每 30 分钟运行一次的 cron 任务来刷新你的访问令牌它过期了。
只要 cron 任务继续运行,您将始终拥有有效的访问令牌,并且不需要通过登录/重定向 url 过程。