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