Basic auth를 인증으로 사용하고 있는 rest api에 접근 할 때는 아래와 같이 하면 된다.
하지만 BasicAuthenticationInterceptor가 스프링 5.1.1 부터 Deprecated 되었기 때문에 지양하고
org.springframework.http.HttpHeaders#setBasicAuth 를 사용하도록 한다.
[AS-IS]
RestTemplate restTemplate = new RestTemplate();
String url = "http://domain:port/test";
restTemplate.getInterceptors().add(new BasicAuthorizationInterceptor("id", "pw"));
ResponseEntity<TestResponse> response = restTemplate.exchange(url, HttpMethod.GET, null,
TestResponse.class);
TestResponse testResponse = response.getBody();
[TO-BE]
RestTemplate restTemplate = new RestTemplate();
String url = "http://domain:port/test";
String username = "ip";
String password = "1234";
HttpHeaders headers = new HttpHeaders();
headers.setBasicAuth(username, password);
HttpEntity request = new HttpEntity(headers);
ResponseEntity<TestResponse> response = restTemplate.exchange(url, HttpMethod.GET, request,
TestResponse.class);
TestResponse testResponse = response.getBody();
'spring-project' 카테고리의 다른 글
spring boot 에서 mybatis 설정 시에 'Content is not allowed in prolog. 오류 (0) | 2020.04.30 |
---|---|
spring boot 에서 소스 수정 후 자동으로 반영이 안될 경우 (0) | 2020.04.28 |
Spring Security Multiple HttpSecurity(Form Login & Http Login) (0) | 2020.01.19 |
스프링에서 form submit 으로 가변(멀티) 데이터 받기 (0) | 2020.01.10 |
Lombok @Slf4j Annotation (0) | 2020.01.05 |