diff --git a/lib/src/main/java/com/auth0/jwt/JWTVerifier.java b/lib/src/main/java/com/auth0/jwt/JWTVerifier.java index bf180300..d4b3d637 100644 --- a/lib/src/main/java/com/auth0/jwt/JWTVerifier.java +++ b/lib/src/main/java/com/auth0/jwt/JWTVerifier.java @@ -343,7 +343,7 @@ private boolean assertValidInstantClaim(String claimName, Claim claim, long leew if (shouldBeFuture) { isValid = assertInstantIsFuture(claimVal, leeway, now); if (!isValid) { - throw new TokenExpiredException(String.format("The Token has expired on %s.", claimVal), claimVal); + throw new TokenExpiredException(String.format("The Token has expired on %s.", claimVal), claim); } } else { isValid = assertInstantIsLessThanOrEqualToNow(claimVal, leeway, now); diff --git a/lib/src/main/java/com/auth0/jwt/exceptions/TokenExpiredException.java b/lib/src/main/java/com/auth0/jwt/exceptions/TokenExpiredException.java index 42ab090d..00d5bd0e 100644 --- a/lib/src/main/java/com/auth0/jwt/exceptions/TokenExpiredException.java +++ b/lib/src/main/java/com/auth0/jwt/exceptions/TokenExpiredException.java @@ -1,19 +1,22 @@ package com.auth0.jwt.exceptions; +import com.auth0.jwt.RegisteredClaims; +import com.auth0.jwt.interfaces.Claim; + import java.time.Instant; /** * The exception that is thrown if the token is expired. */ -public class TokenExpiredException extends JWTVerificationException { +public class TokenExpiredException extends IncorrectClaimException { private static final long serialVersionUID = -7076928975713577708L; private final Instant expiredOn; - public TokenExpiredException(String message, Instant expiredOn) { - super(message); - this.expiredOn = expiredOn; + public TokenExpiredException(String message, Claim claim) { + super(message, RegisteredClaims.EXPIRES_AT, claim); + this.expiredOn = claim.asInstant(); } public Instant getExpiredOn() {