generated from pricelees/issue-pr-template
[#18] 코드 정리 및 일부 컨벤션 통일 #19
@ -4,7 +4,7 @@ import org.springframework.stereotype.Service
|
|||||||
import roomescape.auth.infrastructure.jwt.JwtHandler
|
import roomescape.auth.infrastructure.jwt.JwtHandler
|
||||||
import roomescape.auth.web.LoginCheckResponse
|
import roomescape.auth.web.LoginCheckResponse
|
||||||
import roomescape.auth.web.LoginRequest
|
import roomescape.auth.web.LoginRequest
|
||||||
import roomescape.auth.web.TokenResponse
|
import roomescape.auth.web.LoginResponse
|
||||||
import roomescape.member.business.MemberService
|
import roomescape.member.business.MemberService
|
||||||
import roomescape.member.infrastructure.persistence.MemberEntity
|
import roomescape.member.infrastructure.persistence.MemberEntity
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ class AuthService(
|
|||||||
private val memberService: MemberService,
|
private val memberService: MemberService,
|
||||||
private val jwtHandler: JwtHandler
|
private val jwtHandler: JwtHandler
|
||||||
) {
|
) {
|
||||||
fun login(request: LoginRequest): TokenResponse {
|
fun login(request: LoginRequest): LoginResponse {
|
||||||
val member: MemberEntity = memberService.findByEmailAndPassword(
|
val member: MemberEntity = memberService.findByEmailAndPassword(
|
||||||
request.email,
|
request.email,
|
||||||
request.password
|
request.password
|
||||||
@ -21,7 +21,7 @@ class AuthService(
|
|||||||
|
|
||||||
val accessToken: String = jwtHandler.createToken(member.id!!)
|
val accessToken: String = jwtHandler.createToken(member.id!!)
|
||||||
|
|
||||||
return TokenResponse(accessToken)
|
return LoginResponse(accessToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun checkLogin(memberId: Long): LoginCheckResponse {
|
fun checkLogin(memberId: Long): LoginCheckResponse {
|
||||||
|
|||||||
@ -24,7 +24,7 @@ class AuthController(
|
|||||||
override fun login(
|
override fun login(
|
||||||
@Valid @RequestBody loginRequest: LoginRequest,
|
@Valid @RequestBody loginRequest: LoginRequest,
|
||||||
): ResponseEntity<CommonApiResponse<Unit>> {
|
): ResponseEntity<CommonApiResponse<Unit>> {
|
||||||
val response: TokenResponse = authService.login(loginRequest)
|
val response: LoginResponse = authService.login(loginRequest)
|
||||||
|
|
||||||
return ResponseEntity.ok()
|
return ResponseEntity.ok()
|
||||||
.header(HttpHeaders.SET_COOKIE, response.toResponseCookie())
|
.header(HttpHeaders.SET_COOKIE, response.toResponseCookie())
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema
|
|||||||
import jakarta.validation.constraints.Email
|
import jakarta.validation.constraints.Email
|
||||||
import jakarta.validation.constraints.NotBlank
|
import jakarta.validation.constraints.NotBlank
|
||||||
|
|
||||||
data class TokenResponse(
|
data class LoginResponse(
|
||||||
val accessToken: String
|
val accessToken: String
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package roomescape.auth.web.support
|
|||||||
import jakarta.servlet.http.Cookie
|
import jakarta.servlet.http.Cookie
|
||||||
import jakarta.servlet.http.HttpServletRequest
|
import jakarta.servlet.http.HttpServletRequest
|
||||||
import org.springframework.http.ResponseCookie
|
import org.springframework.http.ResponseCookie
|
||||||
import roomescape.auth.web.TokenResponse
|
import roomescape.auth.web.LoginResponse
|
||||||
|
|
||||||
const val ACCESS_TOKEN_COOKIE_NAME = "accessToken"
|
const val ACCESS_TOKEN_COOKIE_NAME = "accessToken"
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ fun HttpServletRequest.accessTokenCookie(): Cookie = this.cookies
|
|||||||
?.firstOrNull { it.name == ACCESS_TOKEN_COOKIE_NAME }
|
?.firstOrNull { it.name == ACCESS_TOKEN_COOKIE_NAME }
|
||||||
?: Cookie(ACCESS_TOKEN_COOKIE_NAME, "")
|
?: Cookie(ACCESS_TOKEN_COOKIE_NAME, "")
|
||||||
|
|
||||||
fun TokenResponse.toResponseCookie(): String = accessTokenCookie(this.accessToken, 1800)
|
fun LoginResponse.toResponseCookie(): String = accessTokenCookie(this.accessToken, 1800)
|
||||||
.toString()
|
.toString()
|
||||||
|
|
||||||
fun expiredAccessTokenCookie(): String = accessTokenCookie("", 0)
|
fun expiredAccessTokenCookie(): String = accessTokenCookie("", 0)
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import io.mockk.every
|
|||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
import jakarta.servlet.http.Cookie
|
import jakarta.servlet.http.Cookie
|
||||||
import jakarta.servlet.http.HttpServletRequest
|
import jakarta.servlet.http.HttpServletRequest
|
||||||
import roomescape.auth.web.TokenResponse
|
import roomescape.auth.web.LoginResponse
|
||||||
|
|
||||||
class CookieUtilsTest : FunSpec({
|
class CookieUtilsTest : FunSpec({
|
||||||
context("HttpServletRequest에서 accessToken 쿠키를 가져온다.") {
|
context("HttpServletRequest에서 accessToken 쿠키를 가져온다.") {
|
||||||
@ -45,9 +45,9 @@ class CookieUtilsTest : FunSpec({
|
|||||||
}
|
}
|
||||||
|
|
||||||
context("TokenResponse를 쿠키로 반환한다.") {
|
context("TokenResponse를 쿠키로 반환한다.") {
|
||||||
val tokenResponse = TokenResponse("test-token")
|
val loginResponse = LoginResponse("test-token")
|
||||||
|
|
||||||
val result: String = tokenResponse.toResponseCookie()
|
val result: String = loginResponse.toResponseCookie()
|
||||||
|
|
||||||
result.split("; ") shouldContainAll listOf(
|
result.split("; ") shouldContainAll listOf(
|
||||||
"accessToken=test-token",
|
"accessToken=test-token",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user