A claim exp é um NumericDate: segundos desde 1970-01-01T00:00:00Z, ignorando os segundos bissextos, e não milissegundos (um valor com 13 dígitos é um bug comum vindo do Date.now() do JavaScript). O token é inválido quando o horário atual é igual ou posterior a exp; os verificadores podem permitir uma pequena tolerância, normalmente de um ou dois minutos, para a diferença entre relógios. As claims complementares são nbf (não antes de) e iat (emitido em).
Mantenha os tokens de acesso com vida curta (minutos), porque os bearer tokens não podem ser cancelados depois de emitidos, e use tokens de atualização ou uma nova autenticação para manter o acesso por mais tempo. Erros como jwt expired ou Signature has expired significam que o verificador comparou exp com o próprio relógio; confira os dois relógios antes de culpar o emissor.