Как преобразовать тело API x-www-form-urlencoded в необработанный обычный/текстовый

Я настраиваю генерацию oAuth в новом программном обеспечении для тестирования, Tosca. Tosca может обрабатывать вызовы API только с необработанными типами тела. Мне нужно преобразовать полезную нагрузку ниже x-www-form-urlencoded в обычный/текст. Запрос отклонен с помощью «developerMessage»: «Служба аутентификации отклонила запрос».

Я попытался изменить все «:» на «=» и все разрывы строк на «&». Который работал для преобразования других полезных нагрузок x-www-form-urlencoded в обычный/текст. Я удалил наши client_id и client_secret и добавил их в базовую аутентификацию. Я удалил все специальные символы и пробелы из тела и все еще получаю сообщение об ошибке.

область: область openid: работодатель auth_method: cleartrust auth_id_user_token: A+B/C/D== nonce:cd identity_method:air response_type:id_token token grant_type:password

который я изменил на

scope=openid&realm=employer&auth_method=cleartrust&auth_id_user_token=A+B/C/D==&nonce=cd&identity_method=air&response_type=id_token token&grant_type=password

Вызов простого/текстового API должен получить успешный ответ и вернуть токен oAuth.


person Justin Miles    schedule 17.07.2019    source источник
comment
Вы когда-нибудь пытались назначить свой тип контента в заголовке запроса? что-то вроде назначения Content-Type для text/plain.   -  person Pim H    schedule 26.07.2019


Ответы (1)


Полное раскрытие: я работаю в Tricentis в отделе поддержки.

Механизм API Tosca также может обрабатывать полезные нагрузки в кодировке URL. Пример снимка экрана см. на этой странице руководства: https://support.tricentis.com/community/manuals_detail.do?lang=en&version=12.3.0&url=engines_3.0/api/api_create_url-encoded.htm

Кроме того, выполните следующие действия:

  1. На вкладке Технический вид откройте панель Заголовки справа. Введите параметр заголовка Content-Type со значением application/x-www-form-urlencoded.
  2. На вкладке Аутентификация выберите Базовая аутентификация в качестве метода и используйте client_id в качестве имени пользователя и client_secret в качестве пароль. Установите флажок Предварительная аутентификация.
  3. На вкладке Полезные данные вы можете ввести полезные данные в кодировке URL, необходимые для вашей веб-службы. Поскольку вы используете grant_type = password, полезная нагрузка должна включать как минимум строку grant_type=password&username=someUsername&password=somePassword
person TricentisSupport    schedule 13.08.2019