From 70530f87fc6a9a2196c8c333df92292d4645f13f Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 5 Mar 2026 15:38:47 +0900 Subject: [PATCH] =?UTF-8?q?fix(auth):=20=ED=99=9C=EC=84=B1=20=EA=B3=84?= =?UTF-8?q?=EC=A0=95=20=EC=A1=B0=ED=9A=8C=20=EC=A1=B0=EA=B1=B4=EC=9D=84=20?= =?UTF-8?q?=EB=B3=B8=EC=9D=B8=EC=9D=B8=EC=A6=9D=20=EC=8B=9D=EB=B3=84=20?= =?UTF-8?q?=EC=A1=B0=ED=95=A9=EC=9C=BC=EB=A1=9C=20=EA=B0=95=ED=99=94?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/member/auth/AuthRepository.kt | 14 +++++++++++--- .../vividnext/sodalive/member/auth/AuthService.kt | 7 ++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthRepository.kt index 7f6b9f94..0da863e1 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthRepository.kt @@ -15,7 +15,7 @@ interface AuthQueryRepository { fun getMemberIdsByDi(di: String): List fun getMemberIdsByNameAndBirthAndDiAndGender(name: String, birth: String, di: String, gender: Int): List fun getAuthIdByMemberId(memberId: Long): Long? - fun getActiveMemberIdsByDi(di: String): List + fun getActiveMemberIdsByNameAndBirthAndDiAndUniqueCi(name: String, birth: String, di: String, uniqueCi: String): List } class AuthQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : AuthQueryRepository { @@ -60,13 +60,21 @@ class AuthQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : AuthQ .fetchFirst() } - override fun getActiveMemberIdsByDi(di: String): List { + override fun getActiveMemberIdsByNameAndBirthAndDiAndUniqueCi( + name: String, + birth: String, + di: String, + uniqueCi: String + ): List { return queryFactory .select(member.id) .from(member) .leftJoin(member.auth, auth) .where( - auth.di.eq(di) + auth.name.eq(name) + .and(auth.birth.eq(birth)) + .and(auth.di.eq(di)) + .and(auth.uniqueCi.eq(uniqueCi)) .and(member.isActive.isTrue) ) .fetch() diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthService.kt index 16800e38..d8366d80 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/auth/AuthService.kt @@ -81,7 +81,12 @@ class AuthService( @Transactional fun authenticate(certificate: AuthVerifyCertificate, memberId: Long): AuthResponse { - val memberIds = repository.getActiveMemberIdsByDi(di = certificate.di) + val memberIds = repository.getActiveMemberIdsByNameAndBirthAndDiAndUniqueCi( + name = certificate.name, + birth = certificate.birth, + di = certificate.di, + uniqueCi = certificate.unique + ) if (memberIds.size >= 3) { val message = messageSource.getMessage("member.auth.max_accounts", langContext.lang) ?: "" throw SodaException(