-
- JwtProperties: @ConfigurationProperties("jwt") with secret/expiry - JwtUtil: generateAccessToken/generateRefreshToken/parseAccessToken/parseRefreshToken - parseRefreshToken validates type=refresh claim, throws 40103 if mismatch - JwtUtilTest: 3 tests PASS -
- Result<T>: ok()/fail() with code/message/data/timestamp - BizException: carries int code - AuthErrorCode: 40100/40101/40102/40103 constants - GlobalExceptionHandler: BizException, validation, fallback 99000