Skip to Content
JavaScript Everywhere
book

JavaScript Everywhere

by Adam D. Scott
February 2020
Intermediate to advanced
344 pages
6h 37m
English
O'Reilly Media, Inc.
Content preview from JavaScript Everywhere

Chapter 15. Web Authentication and State

My family and I recently moved. After filling out and signing several forms (my hand is still tired), we were handed the keys to the front door. Each time we come back home, we are able to use those keys to unlock the door and enter. I’m grateful that I don’t need to complete the form each time that I come home, but also appreciate having a lock so that we don’t have any unexpected guests.

Client-side web authentication works in much the same way. Our users will fill out a form and will be handed a key to the website, in the form of a password alongside a token stored in their browser. When they return to the site they will either be automatically authenticated with the token, or be able to sign back in using their password.

In this chapter, we’ll build out a web authentication system with our GraphQL API. To do this, we’ll be building forms, storing JWTs in the browser, sending tokens with each request, and keeping track of our application’s state.

Creating a Sign-up Form

To get started with our application’s client authentication, we can create a user sign-up React component. Before doing so, let’s map out how the component will work.

First, a user will navigate to the /signup route within our application. On this page they will be presented with a form where they can enter their email address, desired username, and password. Submitting the form will perform our API’s signUp mutation. If the mutation is successful, a new user account ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

The Joy of JavaScript

The Joy of JavaScript

Luis Atencio

Publisher Resources

ISBN: 9781492046974Errata Page