In this liveProject, you’ll learn how to log all the requests to your API for the purpose of audit and transparency. You’ll start by implementing logging for all user login attempts, and persist the audit events to the database for future reference. You’ll then set up logging for authorization requests, making sure that you replace passwords and usernames with uniquely identifiable yet anonymized user identifiers.
This liveProject was implemented by Natan Streppel.
This project is designed for learning purposes and is not a complete, production-ready application or solution.
The liveProject is for Java programmers familiar with the basics of REST APIs. To begin this project you will need to be familiar with:
- Basics of Java, min. version 11 (classes, interfaces)
- Basics of Spring MVC (POST of GET requests)
- Basics of JDBC or Spring Data (insert or retrieve data from a database)
- Java IDEs such as Eclipse or IntelliJ IDEA
- Testing APIs via Postman
- Gradle, min. version 6.4.1
- Docker, min. version 17.03, and Docker Compose, min. version 1.22.0
- Basic debugging
- Code reviews
- Code refactoring
- Unit testing
- Security testing
you will learn
In this series of liveProjects, you’ll learn how to add essential security features to a REST API.
- Understanding an API specified in Open API Specification 3.0 using Swagger
- Setting up an environment to implement the API specification provided using Java Spring
- Implementing session management
- Testing the functionality of the reference API implementation using Postman
- Authorizing the leave requests based on user role
- Access control testing
- Logging requests for auditing purposes using standard formats