generated from pricelees/issue-pr-template
[#34] 회원 / 인증 도메인 재정의 #43
@ -9,7 +9,7 @@ import roomescape.auth.exception.AuthErrorCode
|
||||
import roomescape.auth.exception.AuthException
|
||||
import roomescape.auth.infrastructure.jwt.JwtUtils
|
||||
import roomescape.auth.web.LoginContext
|
||||
import roomescape.auth.web.LoginRequestV2
|
||||
import roomescape.auth.web.LoginRequest
|
||||
import roomescape.auth.web.LoginSuccessResponse
|
||||
import roomescape.common.dto.CurrentUserContext
|
||||
import roomescape.common.dto.LoginCredentials
|
||||
@ -30,7 +30,7 @@ class AuthService(
|
||||
) {
|
||||
@Transactional(readOnly = true)
|
||||
fun login(
|
||||
request: LoginRequestV2,
|
||||
request: LoginRequest,
|
||||
context: LoginContext
|
||||
): LoginSuccessResponse {
|
||||
log.info { "[AuthService.login] 로그인 시작: account=${request.account}, type=${request.principalType}, context=${context}" }
|
||||
@ -83,7 +83,7 @@ class AuthService(
|
||||
}
|
||||
|
||||
private fun verifyPasswordOrThrow(
|
||||
request: LoginRequestV2,
|
||||
request: LoginRequest,
|
||||
credentials: LoginCredentials
|
||||
) {
|
||||
if (credentials.password != request.password) {
|
||||
@ -92,7 +92,7 @@ class AuthService(
|
||||
}
|
||||
}
|
||||
|
||||
private fun getCredentials(request: LoginRequestV2): Pair<LoginCredentials, Map<String, Any>> {
|
||||
private fun getCredentials(request: LoginRequest): Pair<LoginCredentials, Map<String, Any>> {
|
||||
val extraClaims: MutableMap<String, Any> = mutableMapOf()
|
||||
val credentials: LoginCredentials = when (request.principalType) {
|
||||
PrincipalType.ADMIN -> {
|
||||
|
||||
@ -9,7 +9,7 @@ import jakarta.servlet.http.HttpServletResponse
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import roomescape.auth.web.LoginRequestV2
|
||||
import roomescape.auth.web.LoginRequest
|
||||
import roomescape.auth.web.LoginSuccessResponse
|
||||
import roomescape.auth.web.support.CurrentUser
|
||||
import roomescape.auth.web.support.Public
|
||||
@ -25,7 +25,7 @@ interface AuthAPI {
|
||||
ApiResponse(responseCode = "200", description = "로그인 성공시 토큰을 반환합니다."),
|
||||
)
|
||||
fun login(
|
||||
@Valid @RequestBody loginRequest: LoginRequestV2,
|
||||
@Valid @RequestBody loginRequest: LoginRequest,
|
||||
servletRequest: HttpServletRequest
|
||||
): ResponseEntity<CommonApiResponse<LoginSuccessResponse>>
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ class AuthController(
|
||||
|
||||
@PostMapping("/login")
|
||||
override fun login(
|
||||
loginRequest: LoginRequestV2,
|
||||
loginRequest: LoginRequest,
|
||||
servletRequest: HttpServletRequest
|
||||
): ResponseEntity<CommonApiResponse<LoginSuccessResponse>> {
|
||||
val response = authService.login(request = loginRequest, context = servletRequest.toLoginContext())
|
||||
|
||||
@ -13,7 +13,7 @@ fun HttpServletRequest.toLoginContext() = LoginContext(
|
||||
userAgent = this.getHeader("User-Agent")
|
||||
)
|
||||
|
||||
data class LoginRequestV2(
|
||||
data class LoginRequest(
|
||||
val account: String,
|
||||
val password: String,
|
||||
val principalType: PrincipalType
|
||||
|
||||
@ -14,7 +14,7 @@ import roomescape.auth.business.CLAIM_PERMISSION_KEY
|
||||
import roomescape.auth.exception.AuthErrorCode
|
||||
import roomescape.auth.infrastructure.jwt.JwtUtils
|
||||
import roomescape.auth.infrastructure.persistence.LoginHistoryRepository
|
||||
import roomescape.auth.web.LoginRequestV2
|
||||
import roomescape.auth.web.LoginRequest
|
||||
import roomescape.common.dto.PrincipalType
|
||||
import roomescape.member.exception.UserErrorCode
|
||||
import roomescape.member.infrastructure.persistence.UserEntity
|
||||
@ -63,7 +63,7 @@ class AuthApiTest(
|
||||
context("실패 응답") {
|
||||
test("비밀번호가 틀린 경우") {
|
||||
val admin = authUtil.createAdmin(AdminFixture.default)
|
||||
val request = LoginRequestV2(admin.account, "wrong_password", PrincipalType.ADMIN)
|
||||
val request = LoginRequest(admin.account, "wrong_password", PrincipalType.ADMIN)
|
||||
|
||||
runTest(
|
||||
using = {
|
||||
@ -86,7 +86,7 @@ class AuthApiTest(
|
||||
|
||||
test("토큰 생성 과정에서 오류가 발생하는 경우") {
|
||||
val admin = authUtil.createAdmin(AdminFixture.default)
|
||||
val request = LoginRequestV2(admin.account, admin.password, PrincipalType.ADMIN)
|
||||
val request = LoginRequest(admin.account, admin.password, PrincipalType.ADMIN)
|
||||
|
||||
every {
|
||||
jwtUtils.createToken(any(), any())
|
||||
@ -118,7 +118,7 @@ class AuthApiTest(
|
||||
it shouldNotBe user.email
|
||||
}
|
||||
|
||||
val request = LoginRequestV2(invalidEmail, user.password, PrincipalType.USER)
|
||||
val request = LoginRequest(invalidEmail, user.password, PrincipalType.USER)
|
||||
|
||||
runTest(
|
||||
using = {
|
||||
@ -142,7 +142,7 @@ class AuthApiTest(
|
||||
it shouldNotBe admin.account
|
||||
}
|
||||
|
||||
val request = LoginRequestV2(invalidAccount, admin.password, PrincipalType.ADMIN)
|
||||
val request = LoginRequest(invalidAccount, admin.password, PrincipalType.ADMIN)
|
||||
|
||||
runTest(
|
||||
using = {
|
||||
@ -204,7 +204,7 @@ class AuthApiTest(
|
||||
type: PrincipalType,
|
||||
extraAssertions: ((ValidatableResponse) -> Unit)? = null
|
||||
) {
|
||||
val request = LoginRequestV2(account, password, type)
|
||||
val request = LoginRequest(account, password, type)
|
||||
|
||||
runTest(
|
||||
using = {
|
||||
|
||||
@ -5,7 +5,7 @@ import io.mockk.clearMocks
|
||||
import io.mockk.every
|
||||
import org.springframework.http.HttpStatus
|
||||
import roomescape.auth.infrastructure.persistence.LoginHistoryRepository
|
||||
import roomescape.auth.web.LoginRequestV2
|
||||
import roomescape.auth.web.LoginRequest
|
||||
import roomescape.common.dto.PrincipalType
|
||||
import roomescape.supports.AdminFixture
|
||||
import roomescape.supports.FunSpecSpringbootTest
|
||||
@ -28,7 +28,7 @@ class FailOnSaveLoginHistoryTest(
|
||||
|
||||
test("회원") {
|
||||
val user = authUtil.signup(UserFixture.createRequest)
|
||||
val request = LoginRequestV2(user.email, user.password, PrincipalType.USER)
|
||||
val request = LoginRequest(user.email, user.password, PrincipalType.USER)
|
||||
|
||||
runTest(
|
||||
using = {
|
||||
@ -45,7 +45,7 @@ class FailOnSaveLoginHistoryTest(
|
||||
|
||||
test("관리자") {
|
||||
val admin = authUtil.createAdmin(AdminFixture.default)
|
||||
val request = LoginRequestV2(admin.account, admin.password, PrincipalType.ADMIN)
|
||||
val request = LoginRequest(admin.account, admin.password, PrincipalType.ADMIN)
|
||||
|
||||
runTest(
|
||||
using = {
|
||||
|
||||
@ -14,7 +14,7 @@ import org.springframework.http.HttpStatus
|
||||
import org.springframework.http.MediaType
|
||||
import roomescape.admin.infrastructure.persistence.AdminEntity
|
||||
import roomescape.admin.infrastructure.persistence.AdminRepository
|
||||
import roomescape.auth.web.LoginRequestV2
|
||||
import roomescape.auth.web.LoginRequest
|
||||
import roomescape.common.dto.PrincipalType
|
||||
import roomescape.common.exception.ErrorCode
|
||||
import roomescape.member.infrastructure.persistence.UserEntity
|
||||
@ -49,7 +49,7 @@ class AuthUtil(
|
||||
if (adminRepository.findByAccount(admin.account) == null) {
|
||||
adminRepository.save(admin)
|
||||
}
|
||||
val requestBody = LoginRequestV2(admin.account, admin.password, PrincipalType.ADMIN)
|
||||
val requestBody = LoginRequest(admin.account, admin.password, PrincipalType.ADMIN)
|
||||
|
||||
return Given {
|
||||
contentType(MediaType.APPLICATION_JSON_VALUE)
|
||||
@ -72,7 +72,7 @@ class AuthUtil(
|
||||
|
||||
return Given {
|
||||
contentType(MediaType.APPLICATION_JSON_VALUE)
|
||||
body(LoginRequestV2(account = user.email, password = user.password, principalType = PrincipalType.USER))
|
||||
body(LoginRequest(account = user.email, password = user.password, principalType = PrincipalType.USER))
|
||||
} When {
|
||||
post("/auth/login")
|
||||
} Then {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user