Pular para o conteúdo
🛠️ToolsShed

Depurador JWT

Decodifique e inspecione cabeçalhos, payloads e expiração de JWT.

Sobre esta ferramenta

Um JWT (JSON Web Token) é um formato compacto e codificado para transmitir informações com segurança entre sistemas. Esta ferramenta permite que você decodifique e inspecione instantaneamente o conteúdo de qualquer JWT, revelando o cabeçalho, a carga útil e as reivindicações armazenadas, sem necessidade de ferramentas externas ou comandos de terminal.

Para usar o JWT Debugger, basta colar seu JWT no campo de entrada e a ferramenta exibirá imediatamente o cabeçalho decodificado (contendo algoritmo e tipo de token), a carga útil (com dados do usuário, tempo de expiração e reivindicações personalizadas) e se a assinatura do token é válida. Isso é inestimável ao desenvolver APIs, depurar problemas de autenticação ou verificar o conteúdo do token durante a solução de problemas.

Casos de uso comuns incluem inspecionar tokens de autenticação de fluxos OAuth2, validar reivindicações personalizadas em microsserviços, verificar tempos de expiração de tokens e entender quais dados estão incorporados em seus tokens. Tenha em mente que, embora a ferramenta possa decodificar qualquer JWT, ela não pode verificar a assinatura sem a chave secreta—para validação completa, use bibliotecas do lado do servidor ou APIs.

Perguntas Frequentes

Implementação de Código

import base64, json

def decode_jwt(token: str) -> dict:
    parts = token.split(".")
    if len(parts) != 3:
        raise ValueError("Invalid JWT format")
    
    def decode_part(part):
        # Add padding
        padded = part + "=" * (4 - len(part) % 4)
        decoded = base64.urlsafe_b64decode(padded)
        return json.loads(decoded)
    
    return {
        "header": decode_part(parts[0]),
        "payload": decode_part(parts[1]),
        "signature": parts[2],
    }

token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature"
decoded = decode_jwt(token)
print(json.dumps(decoded["payload"], indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.