Guia Rápido: Como Funciona a Autenticação com JSON Web Token (JWT)
Aprenda como utilizar JSON Web Tokens (JWT) para autenticação segura de usuários em aplicações web.
O que é JWT?
JSON Web Token (JWT) é um padrão para autenticação segura baseado em tokens, amplamente utilizado em APIs e aplicações web.
Estrutura de um JWT
Um JWT é composto por três partes:
header.payload.signature
Cada parte é codificada em Base64 e separada por pontos (.
).
Gerando um Token JWT
Podemos criar um JWT usando Node.js e a biblioteca jsonwebtoken
:
npm install jsonwebtoken
Crie um arquivo gerarToken.js
:
const jwt = require('jsonwebtoken');
const segredo = 'minhaChaveSecreta';
const token = jwt.sign({ id: 1, nome: 'João' }, segredo, { expiresIn: '1h' });
console.log('Token JWT:', token);
Validando um Token JWT
Para verificar um token, use:
jwt.verify(token, segredo, (err, decoded) => {
if (err) {
console.log('Token inválido');
} else {
console.log('Dados do usuário:', decoded);
}
});
Exemplo Prático
Crie um servidor Express.js para autenticar usuários:
const express = require('express');
const jwt = require('jsonwebtoken');
const app = express();
app.use(express.json());
const segredo = 'minhaChaveSecreta';
app.post('/login', (req, res) => {
const { usuario } = req.body;
if (!usuario) return res.status(400).send('Usuário inválido');
const token = jwt.sign({ usuario }, segredo, { expiresIn: '1h' });
res.json({ token });
});
app.listen(3000, () => console.log('Servidor rodando em http://localhost:3000'));
Próximos passos
Implemente autenticação com JWT no frontend e proteja rotas na sua API.