This project showcases a complete implementation of authentication and authorization process using of JSON Web Tokens(JWT) with Spring Boot 3 and Spring Security 6.
- User login and registration
- Password encryption
- Update password
- Persistence layer with Spring Data JPA and database
- Token-based authentication
- Security filter for protected routes
- Role-Based authorization with authorities (pending)
- Custom access denied handling (pending)
- Refresh token (pending)
- Java 21
- Spring Boot 3.5.x
- Spring Security 6.5.x
- H2 Database
- JJWT (Java JWT)
- MapStruct
- Lombok
- Maven
To get started with this project, you will need to have the following installed on your local machine:
- JDK 21
- Maven 3+
To build and run the project, follow these steps:
# Install dependencies and compile project
mvn clean install
# Run application
mvn spring-boot:run
Spring Security Architecture - Filter
Securing Web Application
Spring Security