Destino Dev

Cursos

Autenticação OAuth2 com NestJS: Login com Google e GitHub

Código do curso: github.com/johnpires/autenticacao-oauth2-nestjs

Aprenda a implementar autenticação OAuth2 profissional com NestJS. Construa um sistema completo de login com Google e GitHub usando Passport.js, JWT, refresh tokens e proteção de rotas — do zero ao deploy.

Conteúdo do curso

Módulo 1: Introdução e Setup

Visão geral do projeto, configuração do ambiente e estrutura do NestJS com autenticação OAuth2.

  1. O que vamos construir: visão geral do projeto (8 min)
  2. Configurando o ambiente de desenvolvimento (8 min)
  3. Estrutura do projeto NestJS com autenticação (2 min)

Módulo 2: Fundamentos do OAuth2 e Passport.js

Entenda o fluxo Authorization Code Flow e configure o Passport.js no NestJS com guards e decorators.

  1. Como funciona o fluxo OAuth2 (Authorization Code Flow) (2 min)
  2. Instalando e configurando Passport.js no NestJS (2 min)
  3. Criando estratégias de autenticação (Strategy Pattern) (3 min)
  4. Guards e decorators de autenticação no NestJS (2 min)

Módulo 3: Login com Google

Crie credenciais no Google Cloud Console e implemente a GoogleStrategy completa com Passport.

  1. Criando credenciais no Google Cloud Console (8 min)
  2. Implementando GoogleStrategy com Passport (2 min)
  3. Callback, profile e persistência de usuário (2 min)
  4. Tratando erros e edge cases do Google OAuth2 (3 min)

Módulo 4: Login com GitHub

Configure OAuth App no GitHub e implemente GitHubStrategy com suporte a múltiplos provedores por usuário.

  1. Criando OAuth App no GitHub (2 min)
  2. Implementando GitHubStrategy (2 min)
  3. Vinculando múltiplos provedores a um usuário (3 min)
  4. Unificando o fluxo de autenticação (2 min)

Módulo 5: JWT e Refresh Tokens

Emita JWTs após login OAuth2, implemente refresh token rotation e proteja rotas com guards.

  1. Emitindo JWT após login OAuth2 (2 min)
  2. Refresh tokens: implementação e rotação (3 min)
  3. Guards de JWT e proteção de rotas (3 min)
  4. Logout e invalidação de tokens (3 min)

Módulo 6: Perfil de Usuário e Banco de Dados

Modele entidades User e OAuthProvider com TypeORM, salve perfis OAuth e implemente endpoints de perfil.

  1. Modelando entidades User e OAuthProvider com TypeORM (2 min)
  2. Salvando e atualizando perfil OAuth (3 min)
  3. Endpoint de perfil autenticado (2 min)
  4. Dados do usuário e serialização segura (2 min)

Módulo 7: Deploy e Conclusão

Configure variáveis de ambiente de produção, faça deploy no Railway e configure callbacks OAuth2 de produção.

  1. Variáveis de ambiente e secrets de produção (2 min)
  2. Deploy no Railway com PostgreSQL (2 min)
  3. Configurando callbacks de produção no Google e GitHub (3 min)
  4. Próximos passos e melhorias (2 min)