
Prepare your development environment for Node.js Express security by setting up a multi-OS workstation (Windows, Linux, macOS), installing MySQL for database management, and ensuring reliable internet access for project work.
Learn to implement user registration with email confirmation in a Node.js Express app, configure SMTP for delivery, manage confirmation tokens, and apply SSL certificates for secure verification.
Implement a resend email confirmation token workflow: validate email, generate a token, compose and send a confirmation email, and handle success or failure in the backend.
Learn to implement a secure forgot and reset password flow in node.js express, sending a tokenized reset link, validating tokens, and updating user passwords.
Enable multi-factor authentication by presenting a user-controlled setup form, activating a second factor via email, and validating tokens during login to secure access.
Implement a login lock after wrong password attempts, using a table to track failures, set a minute-based lock, and verify unlocking after the wait period.
Implement login with Twitter using passport-twitter, configure API key and secret, set callback, and enable social media login to authenticate users and retrieve profile data.
Learn to implement login with google in a node.js express app using passport google strategy, including obtaining client id and secret from the google console and handling profile with redirects.
Learn to implement login with Facebook by integrating the passport-facebook library, configuring app id and secret, and handling the callback to sign in users.
This bootcamp has a goal to introduce web application development with Node.JS and Express. For database, we use MySQL to store the data. The bootcamp focuses on security and authorization. The following is a list of highlight topics:
Use Registration
Authentication
Authorization
We start to learn about user registration. We create a registration form with Node.js and Express. We use Handlebar for Express Template View. User email will be confirmed in our application. To prevent from bots, we implement CAPTCHA on registration. We use reCaptcha from Google.
Database Design for User Registration: MySQL
Setting up project
User Registration
User Registration with Email Confirmation
Resending Email Confirmation Token
Implementing CAPTCHA on User Registration
Signing with Social Media Providers: Twitter, Google, Facebook, GitHub and LinkedIn
Next topic is authentication. We will challenge users to verify user account. We use username and password for authentication. we can enable for user authentication with confirmed email. Each user email that doesn't be confirmed yet will not access web resources. We also implement multi-factor authentication. We send codes to user email to verify user authentication.
Last, we implement Role-based authorization. We define user roles and then assign roles to each user. We will implement authorization with Express middleware.
Pre-requisite
Having knowledge of web development such as HTML5, CSS and JavaScript
Having knowledge of Node.js development
Computer with installed Windows , Linux or macOS
All materials are delivered with step-by-step approach. See you on my course.
Update 1: 24 October 2021
Add new contents: Login with Social Media: Twitter, Facebook, Google, GitHub and LinkedIn