Sistema de Login com Node.js e JWT do Zero
- Nível: Projetos
- Módulos: 6
- Aulas: 13
- Tempo de leitura: 6h 15min
- Tecnologias: Node.js
- Preço: R$ 47,00
Autenticação é uma das funcionalidades mais importantes de qualquer aplicação web moderna — e também uma das mais mal implementadas. Neste curso, você vai construir do zero um sistema completo de login com Node.js e JWT (JSON Web Token), entendendo cada decisão de segurança no caminho. Ao final, você terá uma API de autenticação sólida, segura e pronta para ser integrada em projetos reais.
O projeto utiliza Node.js com Express para o servidor HTTP, bcryptjs para hash seguro de senhas, jsonwebtoken para geração e validação de tokens JWT, e um banco de dados PostgreSQL gerenciado pelo Sequelize. Você vai construir endpoints de registro, login, refresh de token e logout, proteger rotas com middleware de autenticação e implementar boas práticas como expiração de tokens e armazenamento seguro de senhas.
Este curso é ideal para desenvolvedores iniciantes que já conhecem JavaScript básico e querem entender como funciona a autenticação em aplicações web. Não é necessário ter experiência prévia com Node.js ou bancos de dados — todos os conceitos são explicados do zero, com foco em compreensão real e não apenas em copiar código.
O que você vai aprender
Ao final deste curso, você será capaz de:
- Criar uma API REST com Node.js e Express do zero
- Implementar registro e login de usuários com senhas criptografadas
- Gerar, assinar e validar tokens JWT de forma segura
- Proteger rotas da API com middleware de autenticação
- Implementar refresh token para manter sessões ativas
- Armazenar dados de usuários em PostgreSQL com Sequelize
- Aplicar boas práticas de segurança em APIs de autenticação
- Entender os conceitos por trás do fluxo OAuth e sessões modernas
Pré-requisitos
Conhecimento básico de JavaScript (variáveis, funções, promises/async-await). Ter Node.js instalado na máquina. Vontade de aprender como a autenticação realmente funciona.
Conteúdo do curso
Módulo 1: Configuração do Ambiente e Visão Geral do Projeto
Instalamos todas as ferramentas necessárias, criamos a estrutura do projeto e entendemos como JWT e autenticação funcionam na teoria.
- Como funciona autenticação com JWT: teoria essencial (25 min)
- Instalando Node.js, criando o projeto e configurando o Express (30 min)
- Configurando PostgreSQL e o model de Usuário com Sequelize (30 min)
Módulo 2: Registro e Login de Usuários
Implementamos os endpoints de criação de conta e autenticação, com hash de senha e geração de JWT.
- Implementando o endpoint de registro (POST /auth/register) (35 min)
- Implementando o endpoint de login (POST /auth/login) (30 min)
- Criando o middleware de autenticação JWT (30 min)
Módulo 3: Refresh Token e Logout Seguro
Implementamos a renovação de tokens sem relogin e o logout que invalida o refresh token no banco.
- Implementando o endpoint de refresh token (POST /auth/refresh) (35 min)
- Implementando logout seguro (POST /auth/logout) (25 min)
Módulo 4: Testando a API com Postman e Tratamento de Erros
Organizamos os testes no Postman com variáveis de ambiente e adicionamos tratamento de erros centralizado.
- Criando uma coleção no Postman para testar todos os endpoints (30 min)
- Adicionando tratamento de erros global com Express (25 min)
Módulo 5: Rate Limiting e Segurança Avançada
Adicionamos rate limiting nos endpoints de autenticação para proteger contra ataques de força bruta.
- Implementando rate limiting com express-rate-limit (30 min)
Módulo 6: Entrega Final e Próximos Passos
Deploy da API no Railway ou Render, revisão do que foi construído e direções para evoluir o projeto.
- Deploy da API no Railway — do zero ao ar em 10 minutos (30 min)
- Revisão do que foi construído e próximos passos (20 min)