From the course: React: Authentication (2021)

The structure of this course - React.js Tutorial

From the course: React: Authentication (2021)

The structure of this course

- [Instructor] Before we get into the rest of the course, learning about authentication, authorization, building out a react applications and all that good stuff, what I'd like to do here first is just discuss the basic approach and structure of this course, and all of the topics we're going to cover, so that if you want to jump around a little bit and go to your favorite parts of this course, you'll know more or less what to expect. So first of all, I have two main goals for this course. The first goal is that I want to help you understand all of the fundamental concepts of user authentication and authorization so that you can make your full-stack applications as secure as possible. And my second goal for you is to help you develop a sort of full-stack user auth code template that you can use in all your future applications. And of course, these two goals kind of depend on each other since in order to apply the template effectively, you'll need to actually have a good understanding of the basic auth concepts. And in order to really understand the basic auth concepts, you'll need to really get your hands dirty writing some code. So we have a nice symbiosis going on here, more or less. So with that said, here's the basic structure of the course. First of all, we're going to start this course off by learning the fundamental concepts of user authentication. This is where you're going to get an in-depth idea of not only what these two terms mean, but also why they're so important and how they fit into a full-stack application. This will be followed up by me showing you how to set up a project and environment for full-stack react authentication, and basically just how to get everything running. Now, if you're going to skip ahead to later concepts in this course, make sure that you at least watch this bit so that you can run the exercise files for those later chapters. Now, after learning user auth basics and getting our project set up, we're going to walk through the complete process of adding user authentication and authorization to a full-stack react app. Now for most of you, this is going to be a be exciting and eyeopening walkthrough, since it's where you'll see all of the basics of react auth in action, and also where you'll learn how to apply them in any application. We're going to be seeing how to do fundamental things like letting users sign up, letting users log in and log out, as well as how to do things like create private routes on the front end and backend. And this is also where we'll learn about something called the JWTs, that is JSON web tokens, which form the foundation of most of modern website authentication. So obviously, there's lots of exciting stuff here and the nice part about this is that in the first part of the course, this is where we'll actually be building a full-scale working example of a react app with user auth. Once we've done that, we'll be free to move on to some other very important topics. We'll be covering email verification. That is how to make sure that the user actually owns the email that they signed up with. Now, I'm sure many of you are familiar with this already and we're going to see how to do things like send emails from Node, generate verification codes and all that good stuff. We're also going to be looking at resetting passwords. Obviously this is an important thing to have on your website since for many users, the forgot my password flow is how they log in every time. So we're going to see how to do that here as well. Now after that, we're going to take a look at something called OAuth. OAuth is a protocol that allows us to add those buttons to our site that say log in with Google, login with Facebook, login with GitHub, and so on. We're going to learn all about how OAuth works here and how to add it to our site. Now, in addition to the nitty-gritty details that we're going to cover in all of the proceeding sections, we're also going to be taking a look at how to use prebuilt auth providers to add authentication to our site. For this course, we're going to be using Amazon's Cognito service. And finally, we're going to close out this course by covering some extremely important, so-called, best practices when dealing with user authentication on a full-stack site. Now it might be tempting, once you've gone through the rest of the sections, to skip over this part, but don't. The things that we'll be covering there are extremely important for every web developer to know and can lead to terrible security vulnerabilities if they're not used. So, make sure to stick around for that one. Well, that's the basic structure of the course. Hopefully that gives you a good idea of how all of the concepts we'll be learning fit together and what you can expect to learn here. And with that, let's get started with the main content of the course.

Contents