Featured resource
2025 Tech Upskilling Playbook
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Check it out
  • Lab
    • Libraries: If you want this lab, consider one of these libraries.
    • Core Tech
Labs

Securing Spring Data REST APIs

Lab platform
Lab Info
Level
Advanced
Last updated
Dec 05, 2024
Duration
58m

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
Table of Contents
  1. Challenge

    Authenticating Requests to a Spring Data REST API with HTTP Basic

    In this module, you'll create a REST API that authenticates with a username and password against a database. ### Solution To view the solution, run git diff origin/master..solution-module-one in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout solution-module-one to switch branches.

  2. Challenge

    Authorizing Requests to a Spring Data REST API with HTTP Basic

    Now that you can authenticate, in this module, you'll build authorization rules into your REST API. You'll focus on method-based security. ### Solution To view the solution, run git diff origin/master..solution-module-two in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout solution-module-two to switch branches.

  3. Challenge

    Using CORS and HTTP Basic

    In this module, you'll configure the REST API to perform a CORS handshake so that it can be used by clients from a different hostname. ### Solution To view the solution, run git diff origin/master..solution-module-three in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout solution-module-three to switch branches.

  4. Challenge

    Authenticating and Authorizing Requests with JWT

    In this module, you'll add JWT-based Bearer Token Authentication as a more secure alternative to HTTP Basic. ### Solution To view the solution, run git diff origin/master..solution-module-four in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout solution-module-four to switch branches.

  5. Challenge

    Authenticating and Authorizing Requests with Opaque Token

    In this module, you'll change JWTs out for Opaque Tokens for additional security. ### Solution To view the solution, run git diff origin/master..solution-module-five in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout solution-module-five to switch branches.

  6. Challenge

    Using CORS and Bearer Tokens

    In this module, you'll create a more secure CORS setup as well as a secure handshake between Resolutions and another REST API. ### Solution To view the solution, run git diff origin/master..solution-module-six in the Terminal, and press Enter to see the next lines of the difference.

    You may also browse the files of the solution by stashing your changes with git stash and running git checkout solution-module-six to switch branches.

About the author

Like many software craftsmen, Josh eats, sleeps, and dreams in code. He codes for fun, and his kids code for fun! Right now, Josh works as a full-time committer on Spring Security and loves every minute.

Real skill practice before real-world application

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Learn by doing

Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.

Follow your guide

All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.

Turn time into mastery

On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.

Get started with Pluralsight