jwt 구현중에 refreshToken은 httpOnly쿠키로 셋팅하고 accessToken은 json으로 응답을 리턴하는 코드
@RequestMapping(value = "/api/v1/authenticate", method = RequestMethod.POST)
public ResponseEntity<?> createAuthenticationToken(@RequestBody JwtRequest authenticationRequest, HttpServletResponse response) throws Exception{
authenticate(authenticationRequest.getUsername(),authenticationRequest.getPassword());
final UserDetails userDetails = userDetailService
.loadUserByUsername(authenticationRequest.getUsername());
final String token = jwtTokenUtil.generateToken(userDetails);
ApiResponse apiResponse = new ApiResponse();
apiResponse.setData(token);
ResponseCookie responseCookie = ResponseCookie.from("refreshToken",refreshToken)
.httpOnly(true)
.secure(true)
.path("/")
.maxAge(60)
.domain("yourdomain.net")
.build();
return ResponseEntity.ok()
.header(HttpHeaders.SET_COOKIE, responseCookie.toString())
.body(apiResponse);
}
'웹개발 > 스프링부트' 카테고리의 다른 글
Deprecated configuration property 'spring.profiles' (0) | 2021.06.29 |
---|---|
스프링부트 로그레벨 설정 (0) | 2021.03.30 |
스프링부트 profile설정(front 및 api 서버 url 설정하기) (0) | 2021.03.18 |
Spring boot jwt 로그인 구현 (0) | 2021.03.15 |
스프링부트 서블릿 필터 Exception 핸들링 (2) | 2021.03.15 |