Four-Project Series

Authentication, Authorization, and Audit Management for APIs you own this product

prerequisites
basics of Java 11 • basics of Spring MVC • basics of JDBC or Spring Data • basic debugging • Postman for API Testing
skills learned
HTTP authentication with username and password • implementing session management • access control testing • logging requests for auditing purposes
Sashank Dara
4 weeks · 5-7 hours per week average · BEGINNER
filed under

In this series of liveProjects, you’ll set up authentication, authorization, and audit management capabilities for a REST API used by an HR employee leave management application. This application has both web and mobile versions, and handles sensitive employee data. It’s essential that the API is safe and secure. Each liveProject in this series covers a different part of the process, so you can choose the right experience for your needs.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 HTTP Authentication
In this liveProject, you’ll implement username-based HTTP authentication for your API in order to securely store passwords in your database. You’ll develop user signup functionality to ensure only registered users can leverage the REST API, build a user login for authenticating users as they access your REST API, and test its functionality using Postman.

This liveProject was implemented by Natan Streppel.
$29.99 FREE
try now
Project 2 Session Management
In this liveProject, you’ll add secure session management to the API for granting employee leave. You’ll implement an authenticated leave retrieval call, a user logout flow, and a password update flow for users whose credentials are forgotten or compromised. These are essential building blocks for creating a secure API.

This liveProject was implemented by Natan Streppel.
$29.99 $16.49
add to cart
Project 3 Authorization
In this liveProject, you’ll implement HTTP authentication so that leave requests can be authorized based on user role. You will set up three Role Based Access Control (RBAC) functionalities for the REST API. The first RBAC will allow a reportee user account to access its own leave requests while keeping other data secure. The second RBAC will allow managers to see all the leave requests of employees they are responsible for. Finally, you’ll establish an RBAC for approving leave requests.

This liveProject was implemented by Natan Streppel.
$29.99 $16.49
add to cart
Project 4 Audit Logging
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.
$29.99 $16.49
add to cart

project author

Sashank Dara
Sashank Dara, PhD, is a seasoned cybersecurity technologist and expert. He has over 17 years of extensive experience in cybersecurity R&D. He got his PhD in cybersecurity from IIIT-Bangalore in the area of applied cryptography and threat intelligence. He is co-inventor of five U.S. patents (and 3 IETF drafts) in the areas of cloud, SDN, and NFV security. He is a trusted information security consultant and adviser for top companies in EdTech, IT/ITes, academia, and real estate. Dara has published more than a dozen research papers at IEEE, LNCS conferences in the areas of cloud security, privacy, cryptography, and threat intelligence. He is a prolific speaker at security conferences and invited talks. He was a consultant advisor with Manipal Global Education Services for its cybersecurity programs. He was security technology and strategy advisor for security startups including Appknox, Haltdos, and SecurityJourney.com. Dara is currently the CTO and co-founder of Seconize, an award-winning cybersecurity startup pioneering a cyber risk and compliance management SaaS product suite.

Prerequisites

The liveProject is for Java programmers familiar with the basics of REST APIs. To begin this project you will need to be familiar with the following:


TOOLS
  • Basics of Java 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
  • Docker and Docker Compose
  • Git
TECHNIQUES
  • 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 basic HTTP authentication with username and password as per standards
  • Testing the functionality of the reference API implementation using Postman

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.
includes 4 liveProjects
liveProject $32.99 $59.99 self-paced learning
RECENTLY VIEWED