feat: JwtHandler에 debug 로그 추가

This commit is contained in:
이상진 2025-08-04 17:25:06 +09:00
parent e92878a84a
commit 76c5524c90

View File

@ -1,5 +1,7 @@
package roomescape.auth.infrastructure.jwt package roomescape.auth.infrastructure.jwt
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import io.jsonwebtoken.ExpiredJwtException import io.jsonwebtoken.ExpiredJwtException
import io.jsonwebtoken.Jwts import io.jsonwebtoken.Jwts
import io.jsonwebtoken.security.Keys import io.jsonwebtoken.security.Keys
@ -10,6 +12,8 @@ import roomescape.auth.exception.AuthException
import java.util.* import java.util.*
import javax.crypto.SecretKey import javax.crypto.SecretKey
private val log: KLogger = KotlinLogging.logger {}
@Component @Component
class JwtHandler( class JwtHandler(
@Value("\${security.jwt.token.secret-key}") @Value("\${security.jwt.token.secret-key}")
@ -21,6 +25,7 @@ class JwtHandler(
private val secretKey: SecretKey = Keys.hmacShaKeyFor(secretKeyString.toByteArray()) private val secretKey: SecretKey = Keys.hmacShaKeyFor(secretKeyString.toByteArray())
fun createToken(memberId: Long): String { fun createToken(memberId: Long): String {
log.debug { "[JwtHandler.createToken] 시작: memberId=$memberId" }
val date = Date() val date = Date()
val accessTokenExpiredAt = Date(date.time + (tokenTtlSeconds * 1_000)) val accessTokenExpiredAt = Date(date.time + (tokenTtlSeconds * 1_000))
@ -30,10 +35,12 @@ class JwtHandler(
.expiration(accessTokenExpiredAt) .expiration(accessTokenExpiredAt)
.signWith(secretKey) .signWith(secretKey)
.compact() .compact()
.also { log.debug { "[JwtHandler.createToken] 완료. memberId=$memberId, token=$it" } }
} }
fun getMemberIdFromToken(token: String?): Long { fun getMemberIdFromToken(token: String?): Long {
try { try {
log.debug { "[JwtHandler.getMemberIdFromToken] 시작: token=$token" }
return Jwts.parser() return Jwts.parser()
.verifyWith(secretKey) .verifyWith(secretKey)
.build() .build()
@ -41,6 +48,7 @@ class JwtHandler(
.payload .payload
.get(MEMBER_ID_CLAIM_KEY, Number::class.java) .get(MEMBER_ID_CLAIM_KEY, Number::class.java)
.toLong() .toLong()
.also { log.debug { "[JwtHandler.getMemberIdFromToken] 완료. memberId=$it, token=$token" } }
} catch (_: IllegalArgumentException) { } catch (_: IllegalArgumentException) {
throw AuthException(AuthErrorCode.TOKEN_NOT_FOUND) throw AuthException(AuthErrorCode.TOKEN_NOT_FOUND)
} catch (_: ExpiredJwtException) { } catch (_: ExpiredJwtException) {