Невозможно включить аутентификацию пользователя в хранилище с помощью Spring
Я пытаюсь включить режим аутентификации пользователя в хранилище, используя шаблон отдыха Spring, но получаю 403 - Запрещено, но тот же запрос, созданный в Postman, работает. Я пробовал как с PUT, так и с POST, с X-Vault-Token(значение является корневым токеном) в заголовке и типом (значение является userpass) в теле. Может ли кто-нибудь предоставить какое-либо исправление.
Пожалуйста, найдите ниже код для моего отдыха вызова:
public static ResponseEntity<?> httpLoginRequest(String serverUrl,
HttpMethod method, HttpHeaders headers, JsonObject request, Class<?> responseType) {
RestTemplate restTemplate = null;
HttpEntity<?> requestEntity = null;
try {
restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
restTemplate.getMessageConverters().add(new ByteArrayHttpMessageConverter());
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
/*messageConverters.add(new ByteArrayHttpMessageConverter());
messageConverters.add(new StringHttpMessageConverter());*/
if (request != null) {
requestEntity = new HttpEntity<Object>(request.toString(), headers);
} else {
requestEntity = new HttpEntity<Object>(headers);
}
} catch (Exception e) {
//throw new HolmesRuntimeException(e);
}
/*
ClientHttpRequestInterceptor interceptor = new HttpRequestInterceptor();
restTemplate.setInterceptors(Arrays.asList(interceptor));
*/
return restTemplate.exchange(serverUrl, method, requestEntity, responseType);
}
Также заголовки, которые я добавил в свой запрос:
headers = new HttpHeaders();
headers.add("X-Vault-Token", headerValue);
headers.add(HttpHeaders.CACHE_CONTROL, "no-cache");
headers.add(HttpHeaders.ACCEPT, "*/*");
headers.add(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate");
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "*");
headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "POST, GET, PUT, DELETE");
logger.info("Value of header object is {}",headers);
request = new JsonObject();
request.addProperty("type", "userpass");
logger.info("Value of request object for authentication request is {}", request);
ResponseEntity<?> responseAuth = CommonUtils.httpLoginRequest(url, HttpMethod.PUT, headers, request, String.class);