Normally if a JWT is expired, an exception will be thrown and the user is not logged in. You can give some "leeway" in seconds. During that period, the token is still accepted and the user will be logged in.
Example: If you provide a leeway value of 60, then an expired token is still accepted up to 60 seconds of expiration.