Featured resource
pluralsight tech forecast
2025 Tech Forecast

Which technologies will dominate in 2025? And what skills do you need to keep up?

Check it out
Hamburger Icon
  • Labs icon Lab
  • Core Tech
Labs

Securing Spring Data REST APIs

Labs

Path Info

Level
Clock icon Advanced
Duration
Clock icon 58m
Published
Clock icon Apr 14, 2023

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.

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.

What's a lab?

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.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.