Destino Dev

Cursos

Sistema de Login com Node.js e JWT do Zero

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:

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.

  1. Como funciona autenticação com JWT: teoria essencial (25 min)
  2. Instalando Node.js, criando o projeto e configurando o Express (30 min)
  3. 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.

  1. Implementando o endpoint de registro (POST /auth/register) (35 min)
  2. Implementando o endpoint de login (POST /auth/login) (30 min)
  3. 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.

  1. Implementando o endpoint de refresh token (POST /auth/refresh) (35 min)
  2. 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.

  1. Criando uma coleção no Postman para testar todos os endpoints (30 min)
  2. 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.

  1. 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.

  1. Deploy da API no Railway — do zero ao ar em 10 minutos (30 min)
  2. Revisão do que foi construído e próximos passos (20 min)