Весеннее тестирование безопасности: получение токена - PullRequest
0 голосов
/ 12 июня 2018

Я успешно реализовал код, который позволяет мне извлекать токен JWT из моего приложения через OAuth и UserDetailsService.

Atm Я пытаюсь реализовать тесты, чтобы подтвердить это, но я продолжаю получать 400 неверных запросов

@Test
public void is_status_up() throws InterruptedException, JSONException {
    // Given

    final String TOKEN_URL = "http://localhost:8080/oauth/token";
    MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
    params.add("username","username");
    params.add("credential","credentials");
    params.add("grant_type","password");

    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    HttpEntity<String> entity = new HttpEntity<>("parameters" , headers);

    HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(params, headers);



    RestTemplate restTemplate = new RestTemplate();

    restTemplate.getInterceptors().add(new BasicAuthorizationInterceptor("client-id","client-secret"));

    //When
    String result = restTemplate.postForObject(TOKEN_URL, request, String.class);

    //Then
    assertThat(result).isNotNull();
}

При попытке попытаться получить токен с сервера Spring Security Authorization Server /Конечная точка oauth / token Меня встретили с ошибочным запросом 400.

В почтальоне, который успешно извлекает токены. Мне настроен запрос

Заголовок Авторизация: Базовый тип контента: application / x-www-form-urlencoded

тело (выбран x-www-form-urlencoded) имя пользователя: пароль: тип_стали: "пароль"

1 Ответ

0 голосов
/ 12 июня 2018

Проблема заключалась в том, что я указал учетные данные в моей карте параметров, когда это должен быть пароль.Первоначально я сделал это, когда SonarLint или IntelliJ подчеркивают это и бросают шипение, что слово пароль объявлено так открыто.

  • Решение
    • Изменить "учетные данные"в карте параметров стать" паролем "
...