Где я могу найти токен безопасности из службы REST? - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь защитить свою службу REST. Служба входа в систему вроде работает и выдает ответ, но я ничего не могу определить как токен безопасности. Когда я автоматически подключаю контроллеры, все работает, запрещая и разрешая доступ, когда это необходимо. Однако, когда я пытаюсь получить доступ через службу REST, я не вижу ничего, что является токеном безопасности, и даже если я это сделал, я не уверен, что с ним делать. Сначала я думал, что весь заголовок службы login был токеном из-за частей X-Content-Type-Options и X-XSS-Protection, но теперь я не уверен. Более того, я не уверен, что даже если токен был, что с ним делать. Моя первая мысль заключалась в том, чтобы назначить заголовки из службы входа в систему заголовкам postForObject, но это не сработало, как и несколько других вещей, которые я пробовал.

Итак, вопрос: получаю ли я токен вообще? И если да, то как мне изменить свой вызов postForObject? Если нет, очевидно, что мне придется опубликовать дополнительную информацию, но мне нужно знать, что искать. Как выглядит токен и как он используется с RestTemplate и postForObject?

HttpHeaders: [X-Content-Type-Options:"nosniff", X-XSS-Protection:"1; mode=block", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", X-Frame-Options:"DENY", Set-Cookie:"JSESSIONID=C6E1150B1A61082AE77C25EA6C997009; Path=/; HttpOnly", Content-Type:"application/json", Transfer-Encoding:"chunked", Date:"Sat, 11 Jul 2020 17:24:17 GMT", Keep-Alive:"timeout=60", Connection:"keep-alive"]

Тест REST, который работает не :

    // login
    HttpEntity<UserDto> request = new HttpEntity<>(userDto1);
    ResponseEntity<UserDto> response = rt.exchange(loginUrl, HttpMethod.POST, request, resultingType);
    HttpHeaders administratorHeaders = response.getHeaders();

    // call
    request = new HttpEntity<>(userDto2, administratorHeaders);
    UserDto savedUser = rt.postForObject(saveUrl, request, UserDto.class);

Тест автоматического подключения, который работает :

    // login
    ResponseEntity<?> administratorAuthentication = loginController.login(userDto1);

    // call
    UserDto savedUser = userController.save(userDto2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...