Получение токена доступа Adobe Sign для проверки подлинности между серверами

В настоящее время я пытаюсь создать серверную систему, то есть без пользовательского интерфейса, который должен отправлять документы на подпись с помощью Echosign.

Страница для настройки токена Oath требует URL-адреса перенаправления, но, очевидно, у моего приложения нет пользовательского интерфейса и, следовательно, URL-адреса перенаправления.

Очевидно, что существует целый мир OAuth, в который я могу погрузиться прямо сейчас, но я надеюсь использовать их API быстро, без необходимости сначала разбираться во всех тонкостях OAuth. Все образцы, кажется, основаны на сценарии веб-интерфейса, что не относится ко мне.

Любые указатели будут оценены.


person Greg Fullard    schedule 06.01.2017    source источник
comment
Удалось ли вам решить этот вопрос?   -  person Andrei Piatrou    schedule 17.03.2017
comment
@AndreyPietrov: к сожалению, нет. На данный момент переместил эту задачу на задний план, поэтому любая помощь все равно будет оценена. Если разберусь со своей стороны, обязательно выложу сюда результаты.   -  person Greg Fullard    schedule 23.03.2017


Ответы (3)


Единственный способ, которым я мог делать подобные вещи в прошлом, — это сначала следовать процессу аутентификации по умолчанию, а затем, когда у вас есть токен доступа, вы можете создать задачу cron, которая запускается каждые, скажем, 30 минут, чтобы обновить ваш токен доступа перед он истекает.

Пока задача cron продолжает выполняться, у вас всегда будет действительный токен доступа, и вам не нужно будет проходить процесс входа/перенаправления URL-адреса.

person bananabread_    schedule 27.03.2017
comment
А, это похоже на план. Tx Попробую и отчитаюсь - person Greg Fullard; 28.03.2017

Я бы связался со службой поддержки Adobe. Они могут активировать ключ интеграции в вашей учетной записи Adobe Sign, что позволит вам интегрироваться со статическим ключом, который вы можете использовать для интеграции с серверной системой вместо OAUTH.

person Ben Vanderberg    schedule 09.06.2017
comment
Рассчитывайте на то, что в ближайшем будущем метод статической аутентификации в Adobe прекратит свое существование. - person Code39; 20.10.2018
comment
Он по-прежнему доступен в последней версии: helpx. adobe.com/sign/kb/how-to-create-an-integration-key.html Это следует пометить как ответ. - person Garrison Neely; 17.12.2019
comment
Привет, пытаюсь сделать то же самое, кто-нибудь знает, где найти какие-либо документы о том, как на самом деле использовать сгенерированный ключ интеграции? Похоже, что у Adobe есть более новая документация по API, в которой учитываются только материалы OAuth. Ваше здоровье - person Daniil Ivanov; 20.02.2020

_bananabread имеет правильную идею. Следуйте инструкциям на этом сайте:

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

до тех пор, пока вы не получите свой ответ JSON с вашим refresh_token, это все, что вам нужно.

Затем вам нужно будет сделать запрос токена обновления, который обновляет ваш токен каждый раз, когда вам нужно его использовать, и возвращает вам совершенно новый токен 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.

person RetroPanda    schedule 30.06.2017