Spring Boot Avançado: Security, OAuth2 e JWT
- Nível: Avançado
- Módulos: 6
- Aulas: 35
- Tempo de leitura: 8h 45min
- Tecnologias: Java
- Preço: Gratuito
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.
- Introdução ao Spring Security: Arquitetura e Componentes (15 min)
- Configuração do SecurityFilterChain com Java Config (15 min)
- UserDetailsService e Autenticação com Banco de Dados (15 min)
- GrantedAuthority, Roles e Hierarquia de Permissões (15 min)
- Tratamento de Erros e Exceções de Segurança (15 min)
- 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.
- O que é JWT e Como Funciona (15 min)
- Implementando o JwtService (15 min)
- JwtAuthenticationFilter: Interceptando Requisições (15 min)
- Endpoints de Login, Registro e Refresh Token (15 min)
- Blacklist de Tokens e Logout Seguro (15 min)
- 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.
- Autorização Baseada em Roles (RBAC) (15 min)
- Permissões Granulares e ABAC (15 min)
- @PreAuthorize, @PostAuthorize e Expressões SpEL (15 min)
- Filtragem de Dados por Permissão (15 min)
- Auditoria de Segurança com Spring Events (15 min)
- 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.
- Introdução ao OAuth2: Conceitos e Fluxos (15 min)
- Login Social com Google e GitHub (15 min)
- Sua API como Resource Server OAuth2 (15 min)
- Integração com Keycloak (15 min)
- Protegendo APIs entre Microsserviços (15 min)
- 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.
- Rate Limiting e Proteção contra DDoS (15 min)
- Criptografia de Dados Sensíveis (15 min)
- HTTPS, TLS e Certificados (15 min)
- Checklist de Segurança para Produção (15 min)
- Testes de Segurança Automatizados (15 min)
- 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.
- Arquitetura do Projeto Final (15 min)
- Implementação da Camada de Segurança (15 min)
- Serviço de Cursos com Autorização por Propriedade (15 min)
- Deploy Seguro: Docker e CI/CD (15 min)
- Revisão Final e Próximos Passos (15 min)