Сообщение «Bad Request» в потоке аутентификации OWuth JWT - PullRequest
0 голосов
/ 23 февраля 2019

Я выполнил все инструкции в документе для создания токена JWT, но получил «Плохой запрос» в качестве ответа ...

, когда я попытался запустить eg-01-php-jwt таким же образомпроисходит.Я использую демонстрационную среду DocuSign и имитирую запросы, используя Postman и curl

, которые я делаю:

  1. создание URI авторизации как https://account -d.docusign.com/oauth/auth?response_type=code&scope=signature%20impersonation&client_id=c0c3e3b4-87ec-46e6-afad-9f8cf9dda84c&redirect_uri=http://example.com/api/docusign/obtain-consent/callback
  2. заполнить логин и пароль для другой учетной записи docusign «песочницы»
  3. , используя значение kid в sub, чтобы сгенерировать новый токен jwt
  4. знак токена jwt с моим закрытым ключом
  5. попытаться получить токен доступа и получить «Неверный запрос» в качестве ответного сообщения

Мой ( обновленный ) сгенерированный токен

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJjMGMzZTNiNC04N2VjLTQ2ZTYtYWZhZC05ZjhjZjlkZGE4NGMiLCJzdWIiOiI2ODE4NWZmMS00ZTUxLTRjZTktYWYxYy02ODk4MTIyMDMzMTciLCJpYXQiOjE1NTExMDA0MDksImV4cCI6MTU1MjEwMDQwOSwiYXVkIjoiYWNjb3VudC1kLmRvY3VzaWduLmNvbSIsInNjb3BlIjoic2lnbmF0dXJlIGltcGVyc29uYXRpb24ifQ.I1LhY77Rd0-op6UE3zUQvA5UxXIBzHUMyhhrwSN_TBv9ghiNAOr2aVz8Glf16bulkqSrE6A67h3DvL_VDm5NpNzcDQttjlf-CtlnBrjyt2w1niZkYnlmrUXW3SofDJkNHEj9-zQOa2XBrzTOLIhD6g2V0adBe45mwwGpMpOu0oPameUseDVEBeQ50mCZcyiMGYazEA0qeE9Ws9Rb7GxZxmOIZXaWirohmJhNfic5wHprJvA6tTwxai5-4xAwnhrjpsOWKoQRxXRkCKKcIIrKf8SEz4KOH2RCUBqMZRGys81CIDtowtLoDUeMCRKTaxnbrCFax4blJSZ8X3ptyneVpw

ОБНОВЛЕНИЕ @ 2019-02-26 :

для достижения того, что мне нужно, мне нужно было выполнить поток кода авторизации, получить идентификатор учетной записи пользователя на шаге 4 (получить данные пользователя) и, наконец, сгенерироватьJWT токен с ткак информация sub в полезной нагрузке!

1 Ответ

0 голосов
/ 23 февраля 2019

Это утверждение ранее включало только область действия signature.Для аутентификации JWT требуется signature impersonation.

Теперь, когда это было обновлено, есть пара других возможных проблем:

  • Неверный идентификатор пользователя.Для утверждения JWT требуется активный идентификатор пользователя в поле sub.Если пользователь закрыт или идентификатор указан неверно, произойдет сбой.

  • Неверная подпись.Утверждение JWT должно быть подписано секретным ключом RSA, связанным с используемым iss / Client ID.Если есть недопустимые / кодирующие символы или завершающие пробелы, подпись может быть недействительной.

Я бы рекомендовал открыть дело с помощью поддержки DocuSign.На вашей стороне вы получите только ошибку invalid_grant.В журнале поддержки будет более конкретная ошибка.Чтобы помочь с разрешением, при открытии дела укажите следующее:

  • Ключ интегратора
  • Идентификатор демо-счета
  • Подтверждение JWT
  • x-DocuSign-TraceToken значение заголовка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...