인증 JWT 리프레시 토큰 흐름.png

1. 역할


2. Controller: AuthController

로그인 (/login)

@PostMapping("/login")
publicResponseEntity<?>login(@RequestBodyLoginRequestrequest,HttpServletResponseres) {
Tokenstokens=authService.login(request.email(),request.password());
CookieUtil.addHttpOnlyCookie(res,"refreshToken",tokens.refreshToken(),10080);
returnResponseEntity.ok(Map.of("accessToken",tokens.accessToken()));
}

토큰 갱신 (/refresh)

@PostMapping("/refresh")
publicResponseEntity<?>refresh(HttpServletRequestreq,HttpServletResponseres) {
StringrefreshToken=CookieUtil.readCookie(req,"refreshToken");
Tokenstokens=authService.refresh(refreshToken);
CookieUtil.addHttpOnlyCookie(res,"refreshToken",tokens.refreshToken(),10080);
returnResponseEntity.ok(Map.of("accessToken",tokens.accessToken()));
}

로그아웃 (/logout)