Spring Security Zero to Master along with JWT,OAUTH2
Spring Security , SpringBoot Security, CORs,CSRF,JWT, OAUTH2, OpenID Connect, KeyCloak, Spring Authorization Server
Lo que serás capaz de hacer
'Spring Security Zero to Master' course will help in understanding the Spring Security Architecture, important packages, interfaces, classes inside it which handles authentication and authorization requests in the web applications. It also covers most common security related topics like CORs, CSRF, JWT, OAUTH2, password management, method level security, user, roles & authorities management inside web applications. Below are the important topics that this course covers, Spring Security framework details and it features How to adapt security for a Java web application using Spring Security Password Management in Spring Security with PasswordEncoders Deep dive about encoding, encryption and hashing What is CSRF, CORS and how to address them What is Authentication and Authorization. How they are different from each other. Filters in Spring Security and how to write own custom filters Deep dive about JWT (JSON Web Tokens) and the role of them inside Authentication & Authorization Deep dive about OAUTH2 and various grant type flows inside OAUTH2. Deep dive about OpenID Connect & how it is related to OAUTH2 Applying authorization rules using roles, authorities inside a web application using Spring Security Method level security in web/non-web applications Social Login integrations into web applications Set up of Authorization Server using KeyCloak, Spring Authorization Server The pre-requisite for the course is basic knowledge of Java, Spring, SpringBoot and interest to learn.
- Spring Security framework details and it features.
- How to adapt security for a Java web application using Spring Security
- What is CSRF, CORS, JWT, OAUTH2
- Applying authorization rules using roles, authorities inside a web application using Spring Security
- Method level security in web/non-web applications
Temario
UNIDAD 1 - Getting Started · 14 leccionesUNIDAD 1 - Getting Started
UNIDAD 1 - Getting Started
- Course Introduction
- Details of Source Code, PDF Content & other instructions for the course
- Creating a simple Spring Boot app with out security - Part 1
- Creating a simple Spring Boot app with out security - Part 2
- Securing Spring Boot basic app using Spring Security & static credentials
- Funny memes on Security
- What is Security & Why it is important
- Quick introduction to Servlets & Filters
- Introduction to Spring Security Internal flow - Theory
- Demo of Spring Security internal flow - Part 1
- Demo of Spring Security internal flow - Part 2
- Sequence flow of the Spring Security default behaviour
- Understanding on how multiple requests work with out credentials
- "Getting started with Spring Security" quiz
UNIDAD 2 - Changing the default security configurations · 7 leccionesUNIDAD 2 - Changing the default security configurations
UNIDAD 2 - Changing the default security configurations
- Understanding about UI part of the EazyBank application
- Creating backend services needed for the EazyBank application
- Checking the default configuration inside the spring security framework
- Modifying the security config code as per our custom requirements
- How to disable formLogin and httpBasic authentication
- httpBasic authentication testing using postman
- Quiz related to "Understanding & Changing the default security configurations"
UNIDAD 3 - Defining & Managing Users using InMemoryUserDetailsManager · 7 leccionesUNIDAD 3 - Defining & Managing Users using InMemoryUserDetailsManager
UNIDAD 3 - Defining & Managing Users using InMemoryUserDetailsManager
- Configuring users using InMemoryUserDetailsManager
- Configuring PasswordEncoder using PasswordEncoderFactories
- Demo of CompromisedPasswordChecker
- Deep Dive of UserDetailsService & UserDetailsManager Interfaces
- Deep Dive of UserDetails & Authentication interfaces
- Design Discussion: Securing the Demo App with out a database
- Quiz related to "Defining & Managing Users using InMemoryUserDetailsManager"
UNIDAD 4 - Defining & Managing Users using a database · 9 leccionesUNIDAD 4 - Defining & Managing Users using a database
UNIDAD 4 - Defining & Managing Users using a database
- Quick revision of enhancements done so far
- Creating MySQL Database using Docker
- Understanding JdbcUserDetailsManager & creating Users inside the DB
- Using JdbcUserDetailsManager to perform authentication
- Creating our own custom tables for Authentication
- Creating JPA Entity and repository classes for new table
- Creating our own custom implementation of UserDetailsService
- Building a new REST API to allow the registration of new User
- Quiz related to "Defining & Managing Users using a database"
UNIDAD 5 - Password Management with PasswordEncoders · 12 leccionesUNIDAD 5 - Password Management with PasswordEncoders
UNIDAD 5 - Password Management with PasswordEncoders
- How our passwords validated with out PasswordEncoders
- What is Encoding, Decoding & why it is not suitable for passwords management
- What is Encryption, Decryption & why it is not suitable for passwords management
- Demo of Encryption, Decryption
- Introduction to Hashing
- Drawbacks of Hashing & what are Brute force attacks, Dictionary or Rainbow tab
- How to overcome Hashing drawbacks, Brute force and Dictionary table attacks
- Introduction to PasswordEncoders in Spring Security
- Deep dive of PasswordEncoder implementation classes
- Demo of registration and login with Bcrypt password encoder
- Security Design Review – Password Storage Strategy for HealthBridge App
- Quiz related to Password Management in Spring Security
UNIDAD 6 - Understanding Authentication Provider and Implementing it · 8 leccionesUNIDAD 6 - Understanding Authentication Provider and Implementing it
UNIDAD 6 - Understanding Authentication Provider and Implementing it
- Why should we consider creating our own AuthenticationProvider
- Understanding AuthenticationProvider methods
- Implementing and Customizing the AuthenticationProvider inside our application
- Environment specific Security configurations using Profiles - Part 1
- Environment specific Security configurations using Profiles - Part 2
- Environment specific Security configurations using Profiles - Part 3
- Authentication Logic by Environment: Your Strategy
- Quiz related to AuthenticationProvider in Spring Security
UNIDAD 7 - Spring Security customizations for most common use cases · 19 leccionesUNIDAD 7 - Spring Security customizations for most common use cases
UNIDAD 7 - Spring Security customizations for most common use cases
- Accepting only HTTPS Traffic using Spring Security
- Exception Handling in Spring Security framework
- Defining Custom AuthenticationEntryPoint - Part 1
- Defining Custom AuthenticationEntryPoint - Part 2
- Defining Custom AccessDeniedHandler
- Session Timeout & invalid session configurations
- Concurrent Session Control configurations
- Session Fixation Attack protection with Spring Security
- Listening Authentication Events - Theory
- Listening Authentication Events - Demo
- Form Login Configurations for MVC or monolithic apps - Part 1
- Form Login Configurations for MVC or monolithic apps - Part 2
- Form Login Configurations for MVC or monolithic apps - Part 3
- Form Login Configurations for MVC or monolithic apps - Part 4
- Logout Configurations for MVC or monolithic apps
- Spring Security Thymeleaf integration
- Role of SecurityContext & SecurityContextHolder
- Load login user details in Spring Security
- Quiz related to "Spring Security customizations for most common use cases"
UNIDAD 8 - Understanding CORs & CSRF · 18 leccionesUNIDAD 8 - Understanding CORs & CSRF
UNIDAD 8 - Understanding CORs & CSRF
- Setting up the EazyBank UI project
- Understanding and walkthrough of the Angular code - Part 1
- Understanding and walkthrough of the Angular code - Part 2
- Creating new DB schema for EazyBank scenarios
- Updating Backend project based on the latest DB schema
- Testing registration of the new user with latest changes
- Taste of CORs error
- Introduction to CORs
- Possible options to fix the CORs issue
- Fixing CORs issue using Spring Security
- Demo of default CSRF protection inside Spring Security
- Introduction to CSRF attack
- Solution to handle CSRF attacks
- Implementing CSRF token solution inside backend application - Part 1
- Implementing CSRF token solution inside backend application - Part 2
- Implementing CSRF token solution inside UI application
- Ignoring CSRF protection for public APIs
- Quiz related to CORs & CSRF
UNIDAD 9 - Implementing Authorization using Authorities,Roles · 10 leccionesUNIDAD 9 - Implementing Authorization using Authorities,Roles
UNIDAD 9 - Implementing Authorization using Authorities,Roles
- Authentication Vs Authorization
- How Authorities stored inside Spring Security
- Creating new table authorities to store multiple roles or authorities
- Making backend changes to load authorities from new DB table
- Configuring Authorities inside web application using Spring Security
- Authority Vs Role in Spring Security
- Configuring Roles Authorization inside web application using Spring Security
- Listening to the Authorization events
- Securing Endpoints with Roles – Your Plan ?
- Quiz related to Authentication & Authorization
UNIDAD 10 - Custom Filters in Spring Security · 6 leccionesUNIDAD 10 - Custom Filters in Spring Security
UNIDAD 10 - Custom Filters in Spring Security
- Demo of Inbuilt Filters of Spring Security framework
- How to create and configure our own custom filter
- Adding a custom filter using addFilterBefore() method
- Adding a custom filter using addFilterAfter() method
- Adding a custom filter using addFilterAt() method
- Quiz related to Filters in Spring Security
UNIDAD 11 - Token based Authentication using JSON Web Token (JWT) · 12 leccionesUNIDAD 11 - Token based Authentication using JSON Web Token (JWT)
UNIDAD 11 - Token based Authentication using JSON Web Token (JWT)
- Opaque Tokens vs JSON Web Tokens (JWT)
- Advantages of Token based Authentication
- Deep dive about JWT Tokens
- Making project configuration to use JWT tokens
- Building logic to generate the JWT tokens
- Building logic to validate the JWT tokens
- Making changes on the client side for JWT token based authentication
- Validating the JWT changes made by running the applications
- Validating the JWT token expiration scenario
- Publish an AuthenticationManager for custom or manual authentication - Part 1
- Publish an AuthenticationManager for custom or manual authentication - Part 2
- Quiz related to "Token based Authentication using JWT" in Spring Security
UNIDAD 12 - Method Level Security · 8 leccionesUNIDAD 12 - Method Level Security
UNIDAD 12 - Method Level Security
- Introduction to method level security in Spring Security
- Details about method invocation authorization in method level security
- Demo of method level security using @PreAuthorize and @PostAuthorize
- Details about filtering authorization in method level security
- Demo of @PreFilter annotation
- Demo of @PostFilter annotation
- Securing the Inside: Designing Method-Level Security in Spring Applications
- Quiz related to Method level security in Spring Security
UNIDAD 13 - Deep dive of OAUTH2 & OpenID Connect · 14 leccionesUNIDAD 13 - Deep dive of OAUTH2 & OpenID Connect
UNIDAD 13 - Deep dive of OAUTH2 & OpenID Connect
- Problems that OAUTH2 trying to solve
- Introduction to OAUTH2
- OAuth2 terminologies or jargons
- Demo of OAuth2 Sample flow
- Deep dive on Authorization code grant type flow in OAUTH2
- Demo of Authorization code grant type flow in OAUTH2
- Deep dive & Demo of implicit grant flow in OAUTH2
- Deep dive & demo of Authorization code grant type with PKCE
- Deep dive of password grant type flow in OAUTH2
- Deep dive of client credentials grant type flow in OAUTH2
- Deep dive of refresh token grant type flow in OAUTH2
- How resource server validates the tokens issued by Auth server
- Introduction to OpenID Connect
- Quiz related to OAUTH2
UNIDAD 14 - Implementing OAUTH2 using spring security & social logins · 7 leccionesUNIDAD 14 - Implementing OAUTH2 using spring security & social logins
UNIDAD 14 - Implementing OAUTH2 using spring security & social logins
- Introduction to the agenda of OAUTH2 implementations and demos
- Demo of OAUTH2 using social logins - Part 1
- Demo of OAUTH2 using social logins - Part 2
- Demo of OAUTH2 using social logins - Part 3
- Demo of OAUTH2 using social logins - Part 4
- Demo of OAUTH2 using social logins - Part 5
- Quiz related to OAUTH2 integration with Spring Security
UNIDAD 15 - Securing EazyBank using OAUTH2 and KeyCloak · 19 leccionesUNIDAD 15 - Securing EazyBank using OAUTH2 and KeyCloak
UNIDAD 15 - Securing EazyBank using OAUTH2 and KeyCloak
- Introduction to OAUTH2 flow inside EazyBank web App
- Introduction to KeyCloak Auth Server
- Installation of KeyCloak server, setup admin account & realm
- Creating Client Credentials inside KeyCloak for API-API secured invocations
- Setup of EazyBank Resource Server - Part 1
- Setup of EazyBank Resource Server - Part 2
- Client credentials grant type flow demo in eazybank
- Demo of Opaque Tokens - Part 1
- Demo of Opaque Tokens - Part 2
- Creating Client and User details inside KeyCloak for Auth code grant flow
- Testing Authorization code & refresh grant types using Postman App
- Testing Authorization code PKCE grant types using Postman App
- Implementing PKCE Authorization code grant type inside Angular UI App - Part 1
- Implementing PKCE Authorization code grant type inside Angular UI App - Part 2
- Testing PKCE flow inside Eazy Bank Angular UI application
- Configuring MFA using KeyCloak
- Social Login integration with the help of KeyCloak
- Designing Scalable Security: Building Authentication and Authorization for Growth
- Quiz related to OAUTH2 setup using KeyCloak Server
UNIDAD 16 - OAUTH2 Auth Server using Spring Authorization Server · 11 leccionesUNIDAD 16 - OAUTH2 Auth Server using Spring Authorization Server
UNIDAD 16 - OAUTH2 Auth Server using Spring Authorization Server
- Introduction to Spring Authorization Server
- Set up of Spring Authorization Server
- Creating Client Credentials inside Spring Auth Server for API-API invocation
- Client credentials grant type flow demo with Spring Auth Server
- OAuth2 Token Customization in Spring Auth Server
- Creating clients inside Spring Auth Server for Auth Code & PKCE grant type flows
- Updating Spring Auth Server to authenticate the end user using DB
- Auth Code & PKCE grant type flows demo with Spring Auth Server
- Refresh token grant type flow demo with Spring Auth Server
- Demo of Opaque Tokens with Spring Auth Server
- Quiz related to "OAUTH2 Auth Server using Spring Authorization Server"
UNIDAD 17 - Thank You and Congratulations · 1 leccionesUNIDAD 17 - Thank You and Congratulations
UNIDAD 17 - Thank You and Congratulations
- Thank You and Congratulations
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
17 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
16 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Eazy Bytes.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 17 unidades · 182 lecciones · 60 h
- 12 meses de acceso
- 16 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Eazy Bytes; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


