TokenUtils.java
package io.github.evisentin.wordpress.rest.client.domain.auth.jwt;
import com.auth0.jwt.JWT;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import java.time.Instant;
/**
* Utility methods for JWT token expiration handling.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class TokenUtils {
/**
* Determines whether the supplied expiration time has passed.
*
* @param expiration
* token expiration instant; {@code null} is treated as not expired
*
* @return {@code true} if the expiration instant is in the past
*/
public static boolean isExpired(Instant expiration) {
return expiration != null && Instant.now().isAfter(expiration);
}
public static Instant resolveExpiration(final @NonNull String jwtToken) {
return JWT.decode(jwtToken).getExpiresAt().toInstant();
}
}