Spring Boot Project for contacts management with authentication and authorisation using Spring Security and JWT.
IDE:
Open project in any IDE and run as a spring boot Project.
Command line:
Open terminal and loacte to pom.xml file directory and type command -
mvn dpring-boot:run
Use the following url to test the Application: http://localhost:8080/swagger-ui/index.html
It has authentication and authorization implemented by spring security and JWT (JSON Web Token).
- Jwt Token based authentication on APIs
- Role based authorization on APIs
- Privileges based authentication on APIs
This project uses springdoc-openapi for documentation. springdoc-openapi java library helps to automate the generation of API documentation using spring boot projects.
This library supports:
- OpenAPI 3
- Spring-boot (v1, v2 and v3)
- JSR-303, specifically for @NotNull, @Min, @Max, and @Size.
- Swagger-ui
- OAuth 2
- GraalVM native images
It has Rest API for Contacts management which includes creating, editing, searching, deliting and getting data. It has signup and login APIs.
It has in memory H2 database configured. During the application startup it creates following data in database:
- Default Privileges
- Default Roles
- Super Admin user