Destino Dev

Cursos

Spring Boot Avançado: Security, OAuth2 e JWT

Código do curso: github.com/johnpires/spring-boot-avancado-security-oauth2-jwt-v3

Domine Spring Security, JWT e OAuth2 para proteger suas APIs REST com autenticação robusta e autorização granular. Neste curso avançado, você vai aprender a implementar autenticação com JWT, autorização baseada em roles (RBAC), integração com OAuth2 e provedores como Google e GitHub, além de boas práticas de segurança para aplicações em produção.

O que você vai aprender

Ao final deste curso, você será capaz de implementar Spring Security com JWT, configurar OAuth2 com provedores externos, aplicar RBAC e ABAC, e seguir boas práticas de segurança em produção.

Pré-requisitos

Conhecimento de Java e Spring Boot básico. Familiaridade com APIs REST e banco de dados relacional.

Conteúdo do curso

Módulo 1: Fundamentos do Spring Security

Configuração do projeto, SecurityFilterChain, UserDetailsService e proteção contra ataques web.

  1. Introdução ao Spring Security: Arquitetura e Componentes (15 min)
  2. Configuração do SecurityFilterChain com Java Config (15 min)
  3. UserDetailsService e Autenticação com Banco de Dados (15 min)
  4. GrantedAuthority, Roles e Hierarquia de Permissões (15 min)
  5. Tratamento de Erros e Exceções de Segurança (15 min)
  6. CORS e CSRF: Proteção contra Ataques Web (15 min)

Módulo 2: Autenticação com JWT

Implementação completa de JWT: geração, validação, refresh tokens e logout seguro.

  1. O que é JWT e Como Funciona (15 min)
  2. Implementando o JwtService (15 min)
  3. JwtAuthenticationFilter: Interceptando Requisições (15 min)
  4. Endpoints de Login, Registro e Refresh Token (15 min)
  5. Blacklist de Tokens e Logout Seguro (15 min)
  6. Tokens com Chaves Assimétricas (RS256) (15 min)

Módulo 3: Autorização e Controle de Acesso

RBAC, ABAC, @PreAuthorize, filtros por permissão e testes de segurança.

  1. Autorização Baseada em Roles (RBAC) (15 min)
  2. Permissões Granulares e ABAC (15 min)
  3. @PreAuthorize, @PostAuthorize e Expressões SpEL (15 min)
  4. Filtragem de Dados por Permissão (15 min)
  5. Auditoria de Segurança com Spring Events (15 min)
  6. Testes de Integração para Segurança (15 min)

Módulo 4: OAuth2 e Integração com Provedores Externos

OAuth2 flows, login social, Resource Server e integração com Keycloak.

  1. Introdução ao OAuth2: Conceitos e Fluxos (15 min)
  2. Login Social com Google e GitHub (15 min)
  3. Sua API como Resource Server OAuth2 (15 min)
  4. Integração com Keycloak (15 min)
  5. Protegendo APIs entre Microsserviços (15 min)
  6. Token Exchange e Impersonation (15 min)

Módulo 5: Segurança Avançada e Boas Práticas

Rate limiting, criptografia, HTTPS, headers de segurança e testes automatizados.

  1. Rate Limiting e Proteção contra DDoS (15 min)
  2. Criptografia de Dados Sensíveis (15 min)
  3. HTTPS, TLS e Certificados (15 min)
  4. Checklist de Segurança para Produção (15 min)
  5. Testes de Segurança Automatizados (15 min)
  6. CSP e Proteção contra Injeção (15 min)

Módulo 6: Projeto Final: API Segura de E-learning

Construção de uma API completa aplicando todos os conceitos do curso.

  1. Arquitetura do Projeto Final (15 min)
  2. Implementação da Camada de Segurança (15 min)
  3. Serviço de Cursos com Autorização por Propriedade (15 min)
  4. Deploy Seguro: Docker e CI/CD (15 min)
  5. Revisão Final e Próximos Passos (15 min)