Decodificar JWT não verifica a assinatura
Leia as declarações de um token sem confundir conteúdo legível com autenticação válida.
Leitura não é prova de autenticidade
Um JWT assinado normalmente tem três partes separadas por pontos. Cabeçalho e conteúdo costumam usar Base64url e podem ser lidos sem segredo. Qualquer pessoa pode escrever uma declaração de administrador em um token inventado. O serviço receptor precisa verificar assinatura e declarações relevantes antes de confiar nelas.
Confira segundos e fuso horário
exp, nbf e iat usam segundos desde a época Unix. Date do JavaScript espera milissegundos, então normalmente se multiplica por 1000 ao exibir a data. Confira o fuso apresentado. Alterar a exibição local não valida um token expirado; a tolerância de relógio é uma regra do servidor.
Use configuração confiável
Restrinja algoritmos e chaves conforme o provedor e valide emissor e público-alvo. Não aceite um algoritmo apenas porque o cabeçalho o pede. O decodificador vinculado funciona localmente e avisa que a assinatura não foi verificada. Use tokens de exemplo em chamados e evite capturas com credenciais. Tokens criptografados com cinco partes têm outra estrutura.