Stay tuned for part 2 where I walk through the steps to create a working full-stack web app with user authentication in React and Node…

What does it mean to have your web app be authenticated with a user’s credentials?

You could fake it with some JavaScript.

Just set up a prompt that accepts a user name and password, and no matter what, allow that user to go past the login screen.

That would technically count as implementing a UX flow for user authentication but you’d have to be a psycho to try and pass that off as real security.

For the more empathetic, implementing a proper and secure authentication system is a heavy task with real responsibility. If your web app does not have a secure authentication system you are potentially exposing your users to identity theft or fraud.

So how do you create an authentication system you can trust?

In this article I will attempt to explain what it means to have a secure authentication system in your web app and a high level overview of how to implement this system.

For this user authentication system, I will assume a few things.

- You’re creating a web app with a front end client (a browser like Chrome or Firefox).

- You have a separate server API that your client is interacting with.

- You want to use a user’s email and password to authenticate that user.

We will also be using cookies as the form of persistence for the login system.

Why a cookie? I could go into detail but that is not the important part of this post. If you really want to learn about cookies VS JWT you can watch this video https://www.youtube.com/watch?v=o9hT7v0OLJc