Как проверить подлинность Passport OAuth 2.0 с помощью Ass Assured?

Я пытаюсь протестировать REST API, который защищен аутентификацией OAuth 2.0 от Rest Assured, но пока безуспешно.

Среда структурирована таким образом, что все вызовы из www должны проходить через приложение NodeJS, которое будет обрабатывать аутентификацию и передавать вызовы незащищенным API REST за брандмауэром.

В NodeJS я использую стратегии Passport и https://github.com/auth0/passport-azure-ad-oauth2. Я использую экспресс для создания сеанса. Дайте мне знать, если вам нужно увидеть этот код.

Для аутентификации звонка сделано /auth/github, Это вызовет перенаправление на страницу входа в GitHub. Когда аутентификация на github завершена, делается вызов /auth/github/callback который вызовет перенаправление на стартовую страницу сайта.

В уверенности я нашел этот пример для входа в OAuth. Я попробовал это так:

@Test
public void oauthTest() {

    String accessToken = "My very secret access token";

    Response r1 = given().get("/auth/github/");

    Response r2 = given()
            .auth()
            .preemptive()
            .oauth2(accessToken)
            .when()
            .get("/auth/github/callback");

    Response r3 = given().get("/api/user");
}

Когда я проверяю ответ в R2 похоже, я получаю ответ только от аутентификации github. Сессионный cookie-файл от узла приложения не принимается, как я думал.

Если бы кто-нибудь мог указать мне правильное направление, я был бы очень счастлив.

0 ответов

Другие вопросы по тегам