Как получить и добавить файлы cookie xsrf в вызов клиента REST? - PullRequest
0 голосов
/ 08 мая 2019

Я использую RESTAssured для тестирования API.Когда я тестирую конечную точку входа в API с помощью Postman, я получаю файлы cookie для защиты от подделки, которые Postman (и браузер) используют при каждом вызове при использовании приложения.

Чтобы повторить это поведение для тестирования API, я могусделать вызов для аутентификации, но RESTAssured не получает cookie-файлы, отправленные сервером так же, как Postman.

Как мне получить cookie-файлы для последующих вызовов API?

У меня пока естьпробовал Postman и RESTAssured, но может быть гибким в библиотеке тестирования API.

httpReq = RestAssured.given().log().all();
httpReq.contentType(ContentType.URLENC.withCharset("UTF-8"));
httpReq.formParam("Email", email);
httpReq.formParam("Password", password);
httpReq.formParam("__RequestVerificationToken", substr);

Map<String, String> authCookies = response.getCookies();

Когда я отлаживаю и наблюдаю authCookies, в нем отсутствуют соответствующие токены защиты от подделки.Добавление authCookies к последующим запросам приводит к 401 неверному запросу.

1 Ответ

1 голос
/ 08 мая 2019

Благодаря комментарию Уилфреда о методе getDetailedCookies ().

Токены xsrf генерируются с первым ответом с учетом __RequestVerificationToken и могут использоваться во всех вызовах, включая вызов api, который аутентифицирует пользователей.

После проверки подлинности используйте файлы cookie, которые включают файлы cookie xsrf и сессии, везде.

...