REST API project developed in Java using Spring Boot 3, Spring Security 6 for JWT Authentication and Authorization, and H2 database.
- Token-based Authentication using JSON Web Token (JWT)
- Role-based authorization
- Encoding password with BCrypt algorithm
- Java 17
- Spring Boot 3.x.x
- Spring Security 6.x.x
- Apache Maven 3.8.6
- spring-common-parent: Manages the Spring Boot version and provide common configurations for plugins and formatting.
- Set the following environment variables:
ADMIN_PASSWORD
andSECRET_KEY
(size >= 256 bits). - Run the
SpringSecurityJwtApplication
class as Java Application.
Follow the AWS Docker guide to deploy a Java App instance and how to set up Nginx as a reverse proxy with a valid Wildcard SSL/TLS certificate.