Node: Authentication
3h 38mAdvanced2021-06-30
Authors

Daniel Khan
Technology Lead, Developer, Application Architect
Course details
If you have a website, you want visitors. And if you run a business through a website, you want those visitors to be customers. To do that, you need user registration and authentication. Authentication is the foundation of most web applications, letting you determine who is visiting your site and helping you connect them with privileges they should or should not have. In this course, Daniel Khan shows how to add user registration and authentication to an app built with Node.js and Express.js. He covers everything from simple logins using a username and password stored in a database to more complex login methods like single sign-on. Daniel teaches this hands-on course with realistic sample projects, so that you can apply this knowledge to your own work right away.
Skills covered
Node.jsIdentity and Access ManagementJavaScript FrameworksJavaScriptOracleCybersecurityWeb DevelopmentOpen SourceDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Real sites need authentication
- 02 - What you should know
- 03 - Loading the exercise files from GitHub
1. Getting Started
- 04 - Prepare your development environment
- 05 - Set up MongoDB
- 06 - Set up and understand the playground sample application
2. Registering New Users Handling Passwords
- 07 - Registering new users
- 08 - Why plaintext passwords are bad
- 09 - Hashing and validating passwords with bcrypt
- 10 - Implementing login and logout
- 11 - Deserializing the logged in user from the database
- 12 - Offer remember me
- 13 - Require user verification
- 14 - Resetting passwords
- 15 - Implementing the password reset flow
3. Using Passport.js
- 16 - Using Passport.js for authentication
- 17 - Implementing local authentication with Passport.js
- 18 - Securing routes
- 19 - Set up and understand the ToDo list sample application
- 20 - Authenticating API calls
- 21 - Creating and sending JWT tokens
- 22 - Implementing JWT authentication with passport
- 23 - Ensuring object level authorization
4. Single Sign-On (SSO)
- 24 - Authentication, authorization, and single sign-on (SSO)
- 25 - The GitHub OAuth2 authorization (and authentication) flow
- 26 - Prepare Passport.js for GitHub OAuth2
- 27 - Extend the application for single sign-on
- 28 - Finalize and test the single sign-on flow
Conclusion
- 29 - Next steps