GithubHelp home page GithubHelp logo

eazybytes / springsecurity6 Goto Github PK

View Code? Open in Web Editor NEW
491.0 24.0 593.0 44.9 MB

Spring Security Zero to Master along with JWT, OAUTH2 - Code Examples

Java 14.41% JavaScript 0.43% TypeScript 9.58% HTML 6.07% CSS 69.51%
authentication authorization cors csrf-protection jwt keycloak method-level-security oauth2 openid-connect spring-boot

springsecurity6's Introduction

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.
  • Securing endpoint URLs inside web applications using Ant, MVC & Regex Matchers
  • 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

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

springsecurity6's People

Contributors

eazybytes avatar iso53 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

springsecurity6's Issues

Getting error in running the Spring Boot application, for the "SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) " method

Hi,
For the code in -> Link

I am getting the following error:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultSecurityFilterChain' defined in class path resource [com/rg/EazyBank/config/ProjectSecurityConfig.class]: Failed to instantiate [org.springframework.security.web.SecurityFilterChain]: Factory method 'defaultSecurityFilterChain' threw exception with message: This method cannot decide whether these patterns are Spring MVC patterns or not. If this endpoint is a Spring MVC endpoint, please use requestMatchers(MvcRequestMatcher); otherwise, please use requestMatchers(AntPathRequestMatcher).

Here is my pom.xml

`

4.0.0

org.springframework.boot
spring-boot-starter-parent
3.1.2


com.rg
EazyBank
0.0.1-SNAPSHOT
EazyBank
Demo project for Spring Boot and Spring Security

<java.version>17</java.version>



org.springframework.boot
spring-boot-starter-data-jpa


org.springframework.boot
spring-boot-starter-security


org.springframework.boot
spring-boot-starter-web

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-devtools</artifactId>
		<scope>runtime</scope>
		<optional>true</optional>
	</dependency>
	<dependency>
		<groupId>com.h2database</groupId>
		<artifactId>h2</artifactId>
		<scope>runtime</scope>
	</dependency>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<optional>true</optional>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
	<dependency>
		<groupId>org.springframework.security</groupId>
		<artifactId>spring-security-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<configuration>
				<excludes>
					<exclude>
						<groupId>org.projectlombok</groupId>
						<artifactId>lombok</artifactId>
					</exclude>
				</excludes>
			</configuration>
		</plugin>
	</plugins>
</build>
`

can you please help me with this.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.