Curso Spring Security
16HVisão Geral
Este Curso Spring Security, oferece experiência prática com os principais recursos do Spring Security, que inclui configuração, autenticação, autorização, manipulação de senha, teste, proteção contra ameaças de segurança e suporte OAuth2 para aplicativos seguros. Após a conclusão, os participantes terão uma base para proteger aplicativos corporativos e de microsserviços.
Objetivo
Apos realizar este Curso Spring Security, você será capaz de:
- Usar Spring Security em aplicativos Spring e Spring Boot
- Configurar a cadeia de filtros Spring Security
- Proteger endpoints HTTP com controle de acesso baseado em expressão e a API AuthorizationManager
- Proteger execução de métodos
- Usar diferentes mecanismos de autenticação
- Lidar com senhas de maneira eficiente
- Integrar Spring Security com Junit 5 e MockMVC para testar HTTP e segurança de métodos
- Proteger contra vulnerabilidades e ameaças comuns
- Entender o que é OAuth2
- Usar e configurar o Spring Authorization Server
- Implementar um servidor e cliente de recursos
Materiais
Inglês + Exercícios + Lab PraticoConteúdo Programatico
Security Introduction
- Need for security
- Basic security concepts
- Common security vulnerabilities
Spring Security Basics
- Introduction to Spring Security
- High-level architecture
- Overview of SecurityContext
- Spring Security with Spring Boot
Customizing Authentication
- Building blocks for authentication
- Authentication mechanisms based on user name and password
- Other authentication mechanisms
- Authentication events
Securing Web Applications
- Configuring authorization
- Using AccessDecisionsManager for authorization
- Using AuthorizationManager for authorization
- Bypassing security
Method Security
- Method security architecture
- Declarative method security with annotations
Security Testing
- Spring Security Testing Support
- Security mock annotations and meta-annotations
- Using MockMvc to test security
Handling Passwords
- Password hashing
- Upgrading passwords
(Optional) Protecting Against Common Vulnerabilities
- Hardening web applications with security headers
- Preventing cross-site request forgery
- Encrypting data in transit
OAuth2 and OIDC Concepts
- Need for OAuth
- Overview of OAuth2 and OIDC
- OAuth2 grant types
- Types of tokens
- Spring Security OAuth2 support and OAuth2 login
Spring Authorization Server
- Introduction to Authorization Server
- Spring Authorization Server endpoints
- Spring Authorization Server configuration
Protecting and accessing resources with OAuth2
- Resource server
- Using JWT tokens
- Using opaque tokens
- Configuring an OAuth2 client