2017-01-06 6 views
3

저는 현재 백 엔드 시스템을 구축하려고합니다. 즉, Echosign을 사용하여 서명을 위해 문서를 보내야하는 사용자 인터페이스가 없습니다.서버 대 서버 인증을위한 Adobe 서명 액세스 토큰 얻기

선서 토큰 구성을위한 페이지에는 리디렉션 URL이 필요하지만 분명히 내 응용 프로그램에는 UI가 없으므로 리디렉션 URL도 없습니다.

분명히 OAuth 세상이 있습니다. OAuth의 모든 기능을 먼저 이해할 필요없이 API를 빨리 사용하고 싶습니다. 모든 샘플은 웹 인터페이스 시나리오를 기반으로 한 것으로 보입니다.

모든 포인터가 감사하겠습니다.

+0

이 질문에 성공 했습니까? –

+0

@AndreyPietrov : 불행히도. 지금 당장이 일을 내 백 버너로 옮겼으니 아무런 도움이 될 것입니다. 내가 내 측면에서 그것을 알아낼 수 있다면 나는 확실히 결과를 여기에 게시 할 것이다. –

답변

2

내가 과거에 이렇게 할 수 있었던 유일한 방법은 초기에 기본 인증 프로세스를 수행 한 다음 액세스 토큰을 얻으면 새로 고치기 위해 매 30 분마다 실행되는 cron 작업을 만들 수 있습니다. 액세스 토큰이 만료되기 전에

cron 작업이 계속 실행되는 동안에는 항상 유효한 액세스 토큰을 가지며 login/redirect URL 프로세스를 거칠 필요가 없습니다.

+0

아, 이것은 계획처럼 보입니다. Tx는 시도하고 다시보고 할 것입니다. –

0

저는 Adobe 고객 지원에 문의합니다. Adobe Sign 계정에서 통합 키를 사용하면 OAUTH 대신 백엔드 시스템과 통합 할 수있는 정적 키와 통합 할 수 있습니다.

1

_bananabread는 올바른 아이디어를 가지고 있습니다. 이 웹 사이트의 단계에 따라 최대

https://www.adobe.io/apis/documentcloud/sign/docs/step-by-step-guide/get-the-access-token.html

을 당신이 당신의 refresh_token도와 JSON 응답을 할 때까지,이 당신이 필요합니다.

다음으로 토큰을 새로 고침하고 새로운 OAuth 토큰을 반환 할 때마다 토큰을 새로 고치는 새로 고침 토큰 요청을 만들어야합니다. 당신이 어떤 요청 즉 POST에 대한 사용하거나 얻을 수와

이 문자열 access_token은
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"); 

이제 새로운 OAuth 액세스 토큰이 포함됩니다 :

여기 획득 한 토큰을 새로 고침하는 자바 코드이다.