refactor: AuthController에서의 쿠키 관련 로직 제거 및 ResponseEntity 적용

This commit is contained in:
이상진 2025-07-15 11:25:45 +09:00
parent 651557ca87
commit 8be20f2e7c

View File

@ -1,21 +1,19 @@
package roomescape.auth.web package roomescape.auth.web
import io.swagger.v3.oas.annotations.Parameter import io.swagger.v3.oas.annotations.Parameter
import jakarta.servlet.http.Cookie
import jakarta.servlet.http.HttpServletRequest
import jakarta.servlet.http.HttpServletResponse
import jakarta.validation.Valid import jakarta.validation.Valid
import org.springframework.http.HttpHeaders
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RestController import org.springframework.web.bind.annotation.RestController
import roomescape.auth.docs.AuthAPI
import roomescape.auth.service.AuthService import roomescape.auth.service.AuthService
import roomescape.auth.web.support.MemberId import roomescape.auth.web.support.MemberId
import roomescape.auth.web.support.accessTokenCookie import roomescape.auth.web.support.expiredAccessTokenCookie
import roomescape.auth.web.support.addAccessTokenCookie import roomescape.auth.web.support.toResponseCookie
import roomescape.auth.web.support.expire import roomescape.common.dto.response.CommonApiResponse
import roomescape.auth.web.support.toCookie
import roomescape.common.dto.response.RoomescapeApiResponse
@RestController @RestController
class AuthController( class AuthController(
@ -25,34 +23,25 @@ class AuthController(
@PostMapping("/login") @PostMapping("/login")
override fun login( override fun login(
@Valid @RequestBody loginRequest: LoginRequest, @Valid @RequestBody loginRequest: LoginRequest,
response: HttpServletResponse ): ResponseEntity<CommonApiResponse<Unit>> {
): RoomescapeApiResponse<Void> { val response: TokenResponse = authService.login(loginRequest)
val accessToken: TokenResponse = authService.login(loginRequest)
val cookie: Cookie = accessToken.toCookie()
response.addAccessTokenCookie(cookie) return ResponseEntity.ok()
.header(HttpHeaders.SET_COOKIE, response.toResponseCookie())
return RoomescapeApiResponse.success() .body(CommonApiResponse())
} }
@GetMapping("/login/check") @GetMapping("/login/check")
override fun checkLogin( override fun checkLogin(
@MemberId @Parameter(hidden = true) memberId: Long @MemberId @Parameter(hidden = true) memberId: Long
): RoomescapeApiResponse<LoginCheckResponse> { ): ResponseEntity<CommonApiResponse<LoginCheckResponse>> {
val response = authService.checkLogin(memberId) val response: LoginCheckResponse = authService.checkLogin(memberId)
return RoomescapeApiResponse.success(response) return ResponseEntity.ok(CommonApiResponse(response))
} }
@PostMapping("/logout") @PostMapping("/logout")
override fun logout( override fun logout(): ResponseEntity<CommonApiResponse<Unit>> = ResponseEntity.ok()
request: HttpServletRequest, .header(HttpHeaders.SET_COOKIE, expiredAccessTokenCookie())
response: HttpServletResponse .body(CommonApiResponse())
): RoomescapeApiResponse<Void> {
val cookie: Cookie = request.accessTokenCookie()
cookie.expire()
response.addAccessTokenCookie(cookie)
return RoomescapeApiResponse.success()
}
} }