From 651557ca8795b9b931b7c842202d077d3e9f15ac Mon Sep 17 00:00:00 2001 From: pricelees Date: Tue, 15 Jul 2025 11:24:39 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20AuthController=EC=9D=98=20=EC=9D=91?= =?UTF-8?q?=EB=8B=B5=EC=97=90=20ResponseEntity=EB=A5=BC=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EA=B8=B0=20=EC=9C=84=ED=95=9C=20=EC=BF=A0?= =?UTF-8?q?=ED=82=A4=20=EA=B4=80=EB=A0=A8=20=EB=A1=9C=EC=A7=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/web/support/CookieUtils.kt | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/main/java/roomescape/auth/web/support/CookieUtils.kt b/src/main/java/roomescape/auth/web/support/CookieUtils.kt index bedcaf11..22eebd37 100644 --- a/src/main/java/roomescape/auth/web/support/CookieUtils.kt +++ b/src/main/java/roomescape/auth/web/support/CookieUtils.kt @@ -2,26 +2,25 @@ package roomescape.auth.web.support import jakarta.servlet.http.Cookie import jakarta.servlet.http.HttpServletRequest -import jakarta.servlet.http.HttpServletResponse +import org.springframework.http.ResponseCookie import roomescape.auth.web.TokenResponse const val ACCESS_TOKEN_COOKIE_NAME = "accessToken" -fun Cookie.expire(): Unit { - this.value = "" - this.maxAge = 0 -} - -fun TokenResponse.toCookie(): Cookie = Cookie(ACCESS_TOKEN_COOKIE_NAME, this.accessToken) - .also { it.maxAge = 1800000 } - fun HttpServletRequest.accessTokenCookie(): Cookie = this.cookies ?.firstOrNull { it.name == ACCESS_TOKEN_COOKIE_NAME } ?: Cookie(ACCESS_TOKEN_COOKIE_NAME, "") -fun HttpServletResponse.addAccessTokenCookie(cookie: Cookie) { - cookie.isHttpOnly = true - cookie.secure = true - cookie.path = "/" - this.addCookie(cookie) -} +fun TokenResponse.toResponseCookie(): String = accessTokenCookie(this.accessToken, 1800) + .toString() + +fun expiredAccessTokenCookie(): String = accessTokenCookie("", 0) + .toString() + +private fun accessTokenCookie(token: String, maxAgeSecond: Long): ResponseCookie = + ResponseCookie.from(ACCESS_TOKEN_COOKIE_NAME, token) + .httpOnly(true) + .secure(true) + .path("/") + .maxAge(maxAgeSecond) + .build()