diff --git a/src/main/kotlin/zip/cafe/security/jwt/JwtTokenProvider.kt b/src/main/kotlin/zip/cafe/security/jwt/JwtTokenProvider.kt index f586f19..2362a55 100644 --- a/src/main/kotlin/zip/cafe/security/jwt/JwtTokenProvider.kt +++ b/src/main/kotlin/zip/cafe/security/jwt/JwtTokenProvider.kt @@ -37,7 +37,7 @@ class JwtTokenProvider( val claims = parseClaims(token) requireNotNull(claims) { "올바른 JWT 토큰이 아니라 값을 추출할 수 없습니다" } return try { - claims[MEMBER_ID_KEY, Long::class.java] + claims[MEMBER_ID_KEY, Number::class.java].toLong() } catch (e: java.lang.NumberFormatException) { throw IllegalArgumentException("올바른 JWT 토큰이 아니라 값을 추출할 수 없습니다") } diff --git a/src/test/kotlin/zip/cafe/service/AuthServiceTest.kt b/src/test/kotlin/zip/cafe/service/AuthServiceTest.kt index 3f961d9..4679495 100644 --- a/src/test/kotlin/zip/cafe/service/AuthServiceTest.kt +++ b/src/test/kotlin/zip/cafe/service/AuthServiceTest.kt @@ -6,14 +6,18 @@ import io.mockk.clearMocks import io.mockk.every import io.mockk.mockk import io.mockk.verify +import zip.cafe.repository.MemberRepository +import zip.cafe.repository.findOneById import zip.cafe.security.jwt.JwtTokenProvider +import zip.cafe.seeds.createMember import zip.cafe.service.auth.AuthService import java.util.* class AuthServiceTest : FreeSpec({ val jwtTokenProvider = mockk(relaxed = true) - val authService = AuthService(jwtTokenProvider = jwtTokenProvider) + val memberRepository = mockk(relaxed = true) + val authService = AuthService(jwtTokenProvider = jwtTokenProvider, memberRepository = memberRepository) val tempJWTToken = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwiaWF0IjoxNjUyMDExOTU0LCJleHAiOjE2ODM1NDc5NTR9.HeNl3BJdZuRrFT7Lhi9lHmCRIxPn5pxCWoIgDQONFFTIfA8NcTutGyqGfdyZ3JVtV8IYVVSf_SjLgMl3jFkvtQ" @@ -21,9 +25,11 @@ class AuthServiceTest : FreeSpec({ // given val memberId = 1L val nickname = "길동길동" + val member = createMember(id = memberId, nickname = nickname) val now = Date() // mock every { jwtTokenProvider.createToken(memberId, nickname = nickname, at = now) } returns tempJWTToken + every { memberRepository.findOneById(memberId) } returns member // when val generateToken = authService.generateToken(memberId, now) // then