Português (Brasil)

Ferramentas de desenvolvedor · Decodificador JWT

Nunca cole um token de acesso ativo em um decodificador JWT do lado do servidor

· Por que é importante

jwt segurança privacidade

Um token de credencial separado de um servidor de upload remoto por um limite de privacidade claro
Ilustração vetorial original ToolAcre

Um token ao portador é uma credencial: quem o possui pode agir como você até que expire. Esta postagem explica o que você entrega ao colar um em uma ferramenta que se comunica com seu servidor e como depurar com segurança.

A colagem rápida sob pressão – no momento em que uma credencial funcional sai da sua máquina

Uma produção API responde 401 e a etapa de depuração mais rápida é colar seu portador JWT em um decodificador da web. Nesse momento você pode entregar uma credencial funcional a um servidor não relacionado ao seu aplicativo. Um painel de resultados mostrando reivindicações legíveis não informa o que o operador reteve, registrou ou encaminhou. Pare e identifique se o token está ativo antes de tratar um decodificador conveniente como um formatador neutro.

Portador significa que posse é autoridade – por que um token está mais próximo de uma senha do que de um ID

Uma credencial de portador concede autoridade a quem a possui de acordo com as regras do serviço emissor até que expire ou seja revogada. Sua assinatura pode comprovar autenticidade para um verificador com a chave certa; isso não torna o token seguro para ser revelado. Alguns tokens fornecem acesso somente leitura, outros autorizam gravações ou operações privilegiadas de contas. Mesmo que você confie nas declarações exibidas dentro dela, o envio da string compacta completa fornece os bytes de assinatura e todos os três segmentos codificados ao destinatário.

O que uma ferramenta do lado do servidor pode ver – o token completo, as declarações dentro dele e, em princípio, a capacidade de reproduzi-lo enquanto for válido

Um decodificador do lado do servidor pode receber a string inteira em sua solicitação, ver a conta e reivindicar seus nomes e, em princípio, reproduzi-la no serviço enquanto ela for válida. Se o operador realmente faz isso é uma questão separada que você não pode responder apenas com uma frase alegre “não armazenamos tokens”. Logs, rastreamento, extensões de navegador e serviços intermediários podem criar cópias adicionais. Um POST simples sobre HTTPS criptografa a viagem; não elimina o acesso do destino ao texto simples após a chegada.

O que está na carga útil — identificadores de usuário, endereços de e-mail, funções e escopos que são dados pessoais, mesmo sem reprodução

Uma carga útil JWT é codificada em Base64url, não criptografada. Ele pode conter um identificador de assunto, e-mail, função, escopo ou ID de locatário, mesmo que o token tenha expirado e não possa mais conceder acesso. Esses campos podem ser pessoais ou comercialmente sensíveis, independentemente da assinatura. Um rótulo de algoritmo e uma declaração de expiração são apenas dados dentro do token até que um verificador confiável os verifique; O decodificador de ToolAcre deliberadamente não verifica a assinatura. Não use sua saída como uma decisão de permissão.

Hábitos de depuração mais seguros – decodificação do lado do cliente, tokens expirados ou de teste e revogação ou rotação após qualquer exposição

Prefira um depurador offline ou um script local que você controle para material de produção real. Use um token expirado, rotacionado ou explicitamente sintético ao demonstrar um decodificador da Web público. Se um token funcional foi colado em uma página não confiável, gire ou revogue-o em vez de apenas limpar o histórico do navegador. A decodificação do lado do cliente é uma melhoria em relação ao upload do valor, mas não é automaticamente segura: os scripts e extensões da página podem ler a entrada DOM e as páginas do desenvolvedor de produção de ToolAcre carregam scripts de conexão de site do AdSense de terceiros, GA4 e Gerenciador de tags, mesmo que a veiculação de anúncios esteja desativada e os eventos de análise ToolAcre exijam consentimento. Não cole um token de acesso ativo em nenhum site, incluindo ToolAcre.

Exemplo resolvido — uma sessão de depuração que inspeciona um token sem sair do navegador, verificada no painel de rede

Crie um teste inofensivo JWT em um ambiente de desenvolvimento, invalide-o e inspecione essa cópia com o painel Rede do navegador aberto. ToolAcre divide e decodifica-o no código da página sem uma solicitação de upload ToolAcre carregando seus bytes; você pode verificar essas solicitações durante sua sessão. Você ainda poderá ver ativos do site e tráfego de scripts de terceiros divulgado, portanto, um painel de rede vazio não é a reivindicação. Compare o cabeçalho e a carga exibidos com seus dados de teste confiáveis ​​e observe o aviso explícito de “assinatura não verificada” antes de interpretar qualquer afirmação.

O que isso não cobre: ​​tokens vazados através de logs e URLs, que são caminhos de vazamento separados

Este artigo não resolve um token vazado nos logs do aplicativo, uma string de consulta URL, um compartilhamento de tela ou uma extensão do navegador. A decodificação local também não impede que um script malicioso que já tenha acesso à sua página leia seus campos de texto. Use vidas curtas, escopos com privilégios mínimos e controles de registro seguros no serviço emissor; um decodificador não pode adaptar essas propriedades a uma credencial que foi gerada de forma insegura.

Conclusão: inspecione localmente ou não inspecione - o decodificador ToolAcre JWT é executado no navegador, não armazena nada e nunca verifica, portanto, não precisa nem envia seu token

Inspecione localmente ou com dados descartáveis. O decodificador ToolAcre JWT lê e analisa um token colado em seu navegador e não o verifica, portanto, pode ajudar a diagnosticar o formato sem conceder autoridade a ele. Como esta ainda é uma página da web com outro código executável, escolha ferramentas off-line para obter uma credencial ativa; o token de produção mais seguro para colar em um decodificador online é nenhum.