Reader small image

You're reading from  Hands-On Full Stack Development with Spring Boot 2.0 and React

Product typeBook
Published inJun 2018
Reading LevelBeginner
PublisherPackt
ISBN-139781789138085
Edition1st Edition
Languages
Right arrow
Author (1)
Juha Hinkula
Juha Hinkula
author image
Juha Hinkula

Juha Hinkula is a software development lecturer at Haaga-Helia University of Applied Sciences in Finland. He received an MSc degree in Computer Science from the University of Helsinki and he has over 17 years of industry experience in software development. Over the past few years, he has focused on modern full stack development. He is also a passionate mobile developer with Android-native technology, and also uses React Native.
Read more about Juha Hinkula

Right arrow

Chapter 13. Securing Your Application

This chapter explains how to implement authentication to our frontend when we are using JWT authentication in the backend. At the beginning, we switch on security to our backend to enable JWT authentication. Then, we create a component for the login functionality. Finally, we modify our CRUD functionalities to send the token in the request's Authorization header to the backend.

In this chapter, we will look at the following:

  • How to create a login functionality on our frontend
  • How to implement conditional rendering after authentication
  • What is needed for CRUD functionalities when the JWT authentication is enabled
  • How to show messages when authentication fails

Technical requirements


The Spring Boot application that we created in Chapter 4Securing and Testing Your Backend, (GitHub: https://github.com/PacktPublishing/Hands-On-Full-Stack-Development-with-Spring-Boot-2.0-and-React/tree/master/Chapter%204).

The React app that we used in the previous chapter (GitHub: https://github.com/PacktPublishing/Hands-On-Full-Stack-Development-with-Spring-Boot-2.0-and-React/tree/master/Chapter%2011).

Securing the backend

We have implemented CRUD functionalities to our frontend using an unsecured backend. Now, it is time to switch on security again for our backend and go back to the version that we created in Chapter 4, Securing and Testing Your Backend:

  1. Open your backend project with the Eclipse IDE and open the SecurityConfig.java file in the editor view. We commented the security out and allowed everyone access to all endpoints. Now, we can remove that line and also remove the comments from the original version. Now your SecurityConfig.java file's configure method...

Summary


In this chapter, we learned how to implement a login functionality for our frontend when we are using JWT authentication. After successful authentication, we used session storage to save the token that we received from the backend. The token was then used in all requests that we sent to the backend, therefore, we had to modify our CRUD functionalities to work properly with authentication. In the next chapter, we will deploy our application to Heroku and we demonstrate how to create Docker containers.

Questions


  1. How should you create a login form?
  2. How should you log in to the backend using JWT?
  3. How should you store tokens to session storage?
  4. How should you send a token to the backend in CRUD functions?
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Hands-On Full Stack Development with Spring Boot 2.0 and React
Published in: Jun 2018Publisher: PacktISBN-13: 9781789138085
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Juha Hinkula

Juha Hinkula is a software development lecturer at Haaga-Helia University of Applied Sciences in Finland. He received an MSc degree in Computer Science from the University of Helsinki and he has over 17 years of industry experience in software development. Over the past few years, he has focused on modern full stack development. He is also a passionate mobile developer with Android-native technology, and also uses React Native.
Read more about Juha Hinkula