Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

REST Assured и Windows authentication. Как реализовать?

database
windows
api
auth
rest-assured
java
Теги: #<Tag:0x00007fedc3c71948> #<Tag:0x00007fedc3c71718> #<Tag:0x00007fedc3c71510> #<Tag:0x00007fedc3c713a8> #<Tag:0x00007fedc3c71038> #<Tag:0x00007fedc3c70e30>

(Алексей Смиян) #1

Добрый день. Есть идея написать тесты для #api . В качестве инструментов выбраны #java (так как на ней написаны UI тесты и кое-что для БД) и #rest-assured .

Доступ к приложению происходит через windows authentication, и насколько я понял в rest-assured не реализована данная схема аутентификации. В гугле нашел только один пример конкретно на эту тему, на Stack Overflow, и он честно говоря не очень обрадовал.

Буду благодарен за любые советы.


(ex3me0) #2

Что конкретно подразумевается под этим, можно пример, как это выглядит?


(Алексей Смиян) #3

Корпоративное приложение. Для авторизации используется учетная запись Windows.


(Vjacheslav Lukashevich) #4

Если это какой то корпоративный Single Sign On то наверное придётся городить свою авторизацию.
Надо изучать как физически эта авторизация работает и эмулировать.

В своё время был опыт с Single Sign On через смарт карту.
Там пришлось сначала достать сертификаты пользователя (.pem, .pfx файлы)
Потом загрузить эти сертификаты в профиль FireFox
FireFox шёл на ссылку странички Single Sign On, получал токен который я сохранял и использовал в хидерах моих REST запросов чтобы выглядеть залогиненым юзером.

Можно наверное без FireFox но тогда бы мне пришлось обрабатывать кучку редиректов на web странички с JavaScript, что наверное очень весело =)

Вот такой вот опыт.


(Алексей Смиян) #5

Пока-что нашел реализацию на Python:
requests, requests-ntlm, ntlm-auth. Все очень просто, сегодня уже гонял запросы, читал JSON-ы.
Сделать микросервис на Python и из тестов на Java дергать из него данные, которые он будет получать по api из приложения, адекватная идея? Просто у нас еще Rabbit есть, и там пока тоже Python выглядит оптимальнее, для вычитки очередей.