Ошибка API 401 - Ошибка подключения к API - PullRequest
0 голосов
/ 27 сентября 2019

Мы начали видеть эти исключения DocuSign 24.09.2009:

DocuSign \ eSign \ ApiException (401)
[401] Error connecting to the API (https://NA3.docusign.net/restapi/v2/login_information)

Ни один из кодов, окружающих нашу логику DocuSign, не затрагивался почти шесть месяцев.Поэтому я не понимаю, почему возникает это исключение.

Мы используем следующие пакеты (относящиеся к этому):

laravel/framework v5.8.35
docusign/esign-client 3.0.1
tucker-eric/docusign-rest-client 1.0.0
tucker-eric/laravel-docusign 0.1.1

Я пытался обновитьпакеты с компоновщиком думали, что могли сделать обновления, чтобы что-то исправить, но это ничего не изменило, кроме throw USER_AUTHENTICATION_FAILED вместо сообщения об исключениях, приведенном выше.

Как я уже сказал, ни один код не был затронути у меня очень мало опыта работы с API DocuSign, и , что усугубляет ситуацию: это был старый код разработчика ...

I am , способный достичь конечной точки, и аутентифицируйтесь с нашими учетными данными, используя Postman, и это, кажется, работает нормально.Итак, еще раз, я не уверен, как это только начало происходить.

Код от нашего контроллера:

$parcel = request('parcel_id');
$subdivision = $user->subdivision_id;
$subEmail = Subdivision::where('id', $user->subdivision_id)->pluck('email')->first();

$move = Move::create([
    'full_name' => request('full_name'),
    'email' => request('email'),
    'phone_number' => request('phone_number'),
    'parcel_id' => $parcel,
    'direction' => request('direction'),
    'action_date' => request('action_date'),
    'user_id' => auth()->id(),
    'subdivision_id' => $subdivision
]);

$residentTabs = array(
    array(
        'tabLabel' => env('MOVE_IN_ADDRESS_FIELD'),
        'value' => $move->parcel->MailingAddress
    ),
    array(
        'tabLabel' => env('MOVE_IN_DATE_RESIDENT_FIELD'),
        'value' => $move->action_date->format('m/d/Y')
    ),
    array(
        'tabLabel' => env('MOVE_IN_EMAIL_FIELD'),
        'value' => $move->email
    ),
    array(
        'tabLabel' => env('MOVE_IN_PRIMARY_PHONE_FIELD'),
        'value' => $move->phone_number
    ),
    array(
        'tabLabel' => env('MOVE_IN_FULL_NAME_FIELD'),
        'value' => $move->full_name
    )
);

$pmTabs = array(
    array(
        'tabLabel' => env('MOVE_IN_PM_ADDRESS_FIELD'),
        'value' => $move->parcel->MailingAddress
    ),
    array(
        'tabLabel' => env('MOVE_IN_PM_DATE_FIELD'),
        'value' => $move->action_date->format('m/d/Y')
    ),
);

$templateRoles = array(
    array(
        'email' => $move->email,
        'name' => $move->full_name,
        'roleName' => 'Resident',
        'tabs' => array(
            'textTabs' => $residentTabs
        )
    ),
    array(
        'email' => $subEmail,
        'name' => $user->name,
        'roleName' => 'Property Manager',
        'tabs' => array(
            'textTabs' => $pmTabs
        )
    )
);

$envelopeDefinition = array(
    'status' => 'sent',
    'templateId' => env("DOCUSIGN_TEMPLATE_ID"),
    'templateRoles' => $templateRoles
);

$contract = DocuSign::get('envelopes')->createEnvelope($envelopeDefinition);

Последняя строка - это то, где выдается исключение, иФункция выдачи исключений:

vendor/docusign/esign-client/src/ApiClient.php::callApi

Мы ожидаем, что она будет работать так, как есть, без исключений и успешно создаст конверт.Однако мы наблюдаем USER_AUTHENTICATION_FAILED и общие 401 исключения.

Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Если вы получаете ошибку аутентификации при попытке достичь конечной точки login_information, скорее всего, ваше приложение использует аутентификацию Legacy Header с неверным паролем.Я бы порекомендовал следующее:

  • Попробуйте войти в веб-консоль по адресу www.docusign.net и выполнить сброс пароля, если необходимо
  • После того, как вы сможете войтив, обновите сохраненные учетные данные в приложении
  • 2FA, или принудительная единая регистрация заблокирует аутентификацию Legacy Header.Если они есть, их нужно будет отключить, или вам нужно будет переключиться на один из рабочих процессов аутентификации сервера учетных записей .
0 голосов
/ 27 сентября 2019

Ваш токен, возможно, истек.Не уверен, как он был создан и какой механизм аутентификации вы используете.Вам нужно проверить, где находится токен и заголовок в вызовах API REST, который его использует.Возможно, это было жестко закодировано или использовался токен обновления, используемый для продолжения получения новых токенов, и этот процесс прервался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...