Pular para o conteúdo
Criação de Apps

JWT: o que é o token de login e como ele funciona em apps e sites

Resposta rápida

JWT (JSON Web Token) é um texto assinado que o servidor entrega depois do login e que o app envia a cada requisição para provar quem é o usuário. Ele carrega dados em três partes e a assinatura impede que sejam alterados sem o servidor perceber.

Neste artigo
  1. As três partes do token
  2. Como é o fluxo
  3. Cuidados importantes
  4. Quando usar

Depois que você faz login, o servidor precisa lembrar quem você é nas próximas requisições. Uma das formas mais usadas é entregar um JWT, sigla de JSON Web Token.

As três partes do token

Um JWT é uma sequência de texto dividida em três blocos separados por ponto:

  • Cabeçalho: indica o tipo do token e o algoritmo de assinatura.
  • Carga (payload): traz informações como o identificador do usuário e o momento em que o token expira.
  • Assinatura: calculada com uma chave secreta que só o servidor conhece.

Quando o app envia o token de volta, o servidor recalcula a assinatura. Se bater, o conteúdo é considerado íntegro. Se alguém mudar a carga, por exemplo trocando o identificador do usuário, a assinatura deixa de conferir e o token é recusado.

Como é o fluxo

  1. O usuário envia e-mail e senha.
  2. O servidor confere os dados e gera o JWT, com prazo de validade.
  3. O app guarda o token e o envia em cada chamada, normalmente no cabeçalho de autorização.
  4. O servidor valida a assinatura e o prazo e responde.

A vantagem é que o servidor não precisa consultar um registro de sessão a cada chamada, o que ajuda quando há várias APIs.

Cuidados importantes

O conteúdo do JWT pode ser lido por qualquer um que tenha o token, então ele não é lugar para dados sensíveis. Outros pontos:

  • Use prazos curtos de validade. Um token roubado vale até expirar.
  • Use sempre HTTPS, para o token não trafegar exposto. Veja o que é certificado SSL e HTTPS.
  • Guarde a chave de assinatura fora do código, em variável de ambiente.
  • Valide o algoritmo esperado no servidor, sem aceitar o que o cabeçalho do token disser.
  • Pense em como revogar: como o token vale até expirar, é comum combinar um token de acesso curto com um token de renovação.

Quando usar

JWT faz sentido em APIs usadas por apps móveis, aplicações com várias partes e integração entre serviços. Para um site simples com um servidor só, sessão tradicional costuma ser mais fácil de manter e de invalidar. Antes de implementar do zero, considere uma biblioteca ou serviço de autenticação consolidado, porque erros de detalhe em segurança são comuns.

  • JWT
  • Autenticação
  • Back-end

Perguntas frequentes

O conteúdo do JWT é secreto?

Não. Ele é apenas codificado, e qualquer pessoa pode ler o conteúdo. A assinatura garante que não foi alterado, mas não esconde nada. Não coloque senhas nem dados sensíveis dentro dele.

JWT é melhor que sessão no servidor?

Depende do projeto. Sessões são mais simples de invalidar; JWT é prático quando várias APIs precisam validar o login sem compartilhar um armazenamento.

Leia também

Criação de Apps

O que é certificado SSL e por que seu site precisa de HTTPS

O que o cadeado do navegador significa, o que o certificado protege e como ativar o HTTPS no seu site.

· 5 min de leitura
Criação de Apps

Front-end e back-end: o que cada um faz e como se conectam

O front-end é o que você vê; o back-end é o que trabalha por trás.

· 2 min de leitura
Criação de Apps

OAuth: como funciona o login com Google e outras contas

OAuth é o padrão que deixa um app usar sua conta de outro serviço sem conhecer a sua senha.

· 3 min de leitura
Criação de Apps

Front-end, back-end e full stack: qual a diferença e qual escolher

O que faz um desenvolvedor de cada área, com a analogia do restaurante e dicas para escolher o seu caminho.

· 5 min de leitura

Deixe seu comentário