Skip to content

eazybytes/spring-security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Security Zero to Master along with JWT,OAUTH2

Image

'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.

Topics covered in the course

  • 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

Pre-requisite for the course

  • Good understanding on Java and Spring concepts
  • Basic understanding on SpringBoot & REST services is a bonus but not mandatory
  • Interest to learn and explore about Spring Security

Important Links

Commands used in the course

Command Description
"docker run -p 3306:3306 --name springsecurity -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=eazybank -d mysql" To create a MySQL DB container
"docker run -p 8180:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:25.0.1 start-dev" To create a Keycloak container