DEV Community

Rafael Barros
Rafael Barros

Posted on

Dominando a Autenticação Moderna: Cookies, Sessões, JWT e Passport.js

Introdução
A autenticação é a base de qualquer sistema digital seguro, garantindo que usuários e serviços sejam realmente quem dizem ser. Com o avanço das ameaças cibernéticas, os mecanismos de autenticação também evoluíram. Neste artigo, vamos explorar quatro tecnologias essenciais: Cookies, Sessões, JSON Web Tokens (JWT) e Passport.js. Veremos como funcionam, suas vantagens e quando utilizar cada uma delas.

Image description

  1. Cookies: O Clássico Mecanismo do Lado do Cliente

Cookies são pequenos pedaços de dados armazenados no navegador do usuário, utilizados para manter interações com estado entre o cliente e o servidor.
Como Funcionam

O servidor envia um cabeçalho Set-Cookie na resposta HTTP.
O navegador armazena o cookie localmente.
Nas próximas requisições, o navegador envia o cookie automaticamente.
Enter fullscreen mode Exit fullscreen mode

Características Principais:

Cookies de Sessão: Temporários, são apagados quando o navegador fecha.
Cookies Persistentes: Mantidos até uma data definida.
Bandeiras de Segurança: Secure, HttpOnly e SameSite ajudam a mitigar riscos.
Enter fullscreen mode Exit fullscreen mode

Exemplo de Código (Node.js/Express)
`const express = require('express');
const cookieParser = require('cookie-parser');
const app = express();

app.use(cookieParser());

app.get('/login', (req, res) => {
res.cookie('user', 'john_doe', { httpOnly: true, secure: true, sameSite: 'strict' });
res.send('Login realizado!');
});

app.get('/dashboard', (req, res) => {
const user = req.cookies.user;
res.send(Bem-vindo, ${user}!);
});

app.listen(3000);
`

Top comments (0)