Advanced React Security Patterns - Pro Package by Ryan Chenkie

Advanced React Security Patterns - Pro Package

What's included?

Video Icon 102 videos File Icon 1 file

Contents

Getting Started
Prerequisites for the Course
1 min
Download the Code for the Course
1 min
Advanced React Security Patterns Code Download
18.1 MB
Sign Up for MongoDB Atlas
5 mins
Install Global Dependencies
1 min
Take a Tour of the Orbit App
2 mins
Refreshing JSON Web Tokens
Run the App and API
2 mins
User Experience Problems with JWTs
5 mins
How Refresh Tokens Work
5 mins
Add an API Proxy
3 mins
Add a Refresh Token Model
3 mins
Save the Refresh Token in a Cookie
5 mins
Add a Token Refresh Endpoint
5 mins
Get a New Token in the Auth Debugger
6 mins
Get a New Token on 401 Errors
5 mins
Automatically Retry Post Requests
6 mins
Add a Refresh Token Invalidation Endpoint
5 mins
Add an Expiry Time to the Refresh Token
8 mins
Switching to Cookies and Sessions
Run the App and API
2 mins
Add an API Proxy
3 mins
Install and Configure express-session
8 mins
Set a Session on Login and Signup
4 mins
Add a Session-Based Middleware
5 mins
Add a Logout Endpoint
3 mins
Add a Public Axios Instance
4 mins
Create a User Info Endpoint
5 mins
Check if the User is Authenticated
8 mins
Refactor AuthContext
5 mins
Refactor Login and Signup
5 mins
Add a CSRF Token
8 mins
Refactor the API
3 mins
Add a Persistent Session Store
6 mins
Strengthen the Session Cookie
4 mins
Third Party Authentication Providers
Run the App and API
2 mins
Why Use a Third-Party Auth Provider?
6 mins
Sign Up for an Auth0 Account
3 mins
Configure Application URLs
2 mins
Create a User in Auth0
3 mins
Set Up an API and Permissions
4 mins
Add User Roles in Auth0
2 mins
Use the Universal Login Screen
2 mins
Install the Auth0-React SDK
6 mins
Redirect Users to Auth0 to Log In
3 mins
Use isLoading to Wait for Authentication
5 mins
Use isAuthenticated to Check Auth Status
2 mins
Get an Access Token from Auth0
7 mins
Use a JWKS Verification Middleware
6 mins
Augment the User's Profile with a Rule
7 mins
Use the Auth0 Role in the React App
3 mins
Request Scopes for an Access Token
8 mins
Apply Scope Check Middleware to Endpoints
3 mins
Add a Custom User ID with an Auth0 Rule
10 mins
Allow Users to Log Out
3 mins
Display the User's Name and Picture
2 mins
Remove AuthContext, Login, and Signup
4 mins
Renew Access Tokens
6 mins
Authentication and Authorization for GraphQL
Run the App and API
2 mins
Tour the GraphQL Implementation
8 mins
Include a JWT in a GraphQL Request
4 mins
Add the User to the GraphQL Context Object
6 mins
Check Authorization in a Resolver
4 mins
Add a Function to Check the User's Role
5 mins
Define an Auth Schema Directive
3 mins
Add a Custom Directive Class
3 mins
Complete the Auth Directive Class
9 mins
Apply the Auth Directive to the Schema
4 mins
Use the User's Sub Claim
2 mins
Redirect to the Login Page
4 mins
Authentication and Authorization for GatsbyJS
Tour the Gatsby App Setup
4 mins
Run the App and API
2 mins
Wrap the Root Element with Providers
5 mins
Create Client-Side Routes
8 mins
Add a Private Route
5 mins
Make Login and Signup be Client-Side Routes
4 mins
Check the Environment when Building the App
3 mins
Authentication and Authorization for Next.js
Install Dependencies and Run the App
2 mins
Tour the Next.js Project Code
4 mins
Make Calls for Data on the Server Side
5 mins
Add an Authorization Middleware
4 mins
Add an Admin Authorization Middleware
4 mins
Check for Authentication on the Client
3 mins
Check for the Admin Role on the Client
2 mins
Serverless Authentication
Run the App and API
1 min
Sign Up for Netlify
2 mins
Set Up a Directory for Serverless Functions
4 mins
Create a Basic Serverless Function
7 mins
Configure a Proxy to Netlify
3 mins
Get Data from a Serverless Function
4 mins
Check Authorization in a Serverless Function
5 mins
Connect to a Database from a Serverless Function
4 mins
Query a Database from a Serverless Function
4 mins
Add a Role Check
3 mins
Challenge: Complete the Remaining Endpoints
2 mins
Interviews
Kent C. Dodds
31 mins
Eve Porcello
28 mins
Ben Awad
20 mins
Kyle Shevlin
16 mins
Dave Ceddia
27 mins
Sam Julien
23 mins
Kadi Kraman
24 mins
Jason Lengstorf
21 mins
Christian Nwamba
24 mins
Chris Sevilleja
20 mins