01. Intro to Authentication Strategies & Implementation Workshop
02. Intro to Cookies
03. Implementing Theme Switching with Conform and UseFetcher
04. Creating a Theme Switcher with Form Submission and Fetcher in React
05. Adding User Preference for Dark Mode
06. Implementing Cookies for Theme Selection
07. Implementing Optimistic UI for Theme Switching
08. Implementing Optimistic UI with Remix
09. Dad Joke Break Cookies
10. Intro to Session Storage
11. Toast Messages with Cookies
12. Configuring Cookie Session Storage for Toast Messages
13. Adding Toast Notifications to Delete Functionality
14. Managing Toast Messages with Cookie Sessions
15. Improving Note Deletion Functionality with Multiple Cookies
16. Efficiently Updating and Serializing Cookies
17. Implementing Flash Messages for Temporary Notifications
18. Efficiently Removing Toast Messages with Flash API
19. Dad Joke Break Session Storage
20. Intro to User Sessions
21. Managing User Sessions with Separate Cookies
22. Secure Cookie Session Storage
23. User Authentication and Session Management
24. User Authentication and Session Management with Login Forms
25. Load User Avatars
26. Handling User Authentication and Session Management with Prisma
27. Dad Joke Break User Sessions
28. Intro to Password
29. Creating an Optional Password Model in Prisma Schema
30. Model Relationships and Handling Passwords in Database Schema
31. Generating Passwords for Secure User Creation
32. Secure Password Creation with Prisma
33. Enhancing User Creation by Adding Passwords
34. Creating and Hashing Passwords for User Sign-Up
35. Dad Joke Break Password
36. Intro to Login
37. Secure Password Authentication with bcrypt Compare in Node.js
38. Implementing Secure Password Verification in User Login
39. Securing UI Elements
40. Dad Joke Break Login
41. Leveraging Utility Functions for User Data Handling and UI Customization
42. Intro to Logout
43. Transforming a Logout Link into a Secure Logout Form
44. Logout Functionality with Session Storage and CSRF Protection
45. Implementing Remember Me Functionality for Login Sessions
46. Implementing Remember Me Functionality
47. Managing Inactive User Sessions
48. Destroying Sessions and Handling Weird States
49. Implementing Automatic Logout with Modals
50. Auto-Logout Functionality
51. Dad Joke Break Logout
52. Intro to Protecting Routes
53. Creating Protected Routes
54. Creating an Auth Utility
55. Building a Profile Page
56. User Authentication and Authorization
57. Securing User Access
58. Authorization and User Authentication
59. Redirect Functionality
60. Handling Redirects Safely in User Authentication
61. Dad Joke Break Protecting Routes
62. Intro to Permissions
63. Role-Based Access Control with Prisma
64. Modeling Permissions and Roles in Prisma Database
65. Managing Roles and Permissions
66. Seed Data
67. Implementing User Permissions and Authorization Logic
68. Implementing Role-Based Permissions
69. Securing Admin Pages with User Permissions
70. Implementing Role-based Access Control and Permissions
71. Dad Joke Break Permissions
72. Intro to Man Sessions
73. Managing User Sessions and Allowing Data Downloads
74. Integrating User Sessions into the Login Process
75. Implementing Session-Based Authentication
76. Authentication Logic with Session IDs and User Creation
77. Improving Login and Signup Flows with Session Management
78. Updating Login and Signup Routes to Use Sessions instead of User IDs
79. Proactive Session Management
80. Managing Sessions and Sign Out in Web Applications
81. Dad Joke Break Man Sessions
82. Intro to Email
83. Integrating Email Services
84. Sending Emails with the Resend API using Fetch
85. Mocking APIs with MSW and Testing
86. Setting Up a Mock Server with MSW Node
87. Email Verification Flow
88. User Verification Emails
89. Secure Email Transfer and Storage with Cookies for Onboarding
90. Passing Data Between Routes
91. Dad Joke Break Email
92. Intro to Verification
93. Implementing One-Time Password Verification with Database Storage
94. Creating a Verification Model in Prisma for User Verification
95. User Verification Workflow
96. Generating One-Time Passwords and Verification URLs in a Signup Flow
97. Implementing User Code Verification with TOTP
98. Verification Flow and Dynamic Query Parameters
99. Dad Joke Break Verification
100. Intro to Reset Password
101. Implementing Forgot Password and Reset Password Flows
102. Resetting Passwords and Handling Verification
103. User Authentication and Password Reset Flow
104. Secure Password Reset Flow Implementation
105. Dad Joke Break Reset Pass
106. Intro to Change Email
107. Implementing Email Verification for Changing Email Addresses
108. Implementing Email Change Verification
109. Handling Email Verification and Updates
110. Implementing a Secure Email Change Flow
111. Dad Joke Break Change Email
112. Intro to Enable Two-Factor Authentication
113. Implementing Two-Factor Authentication Verification
114. Two-Factor Authentication with TOTP Codes
115. Generating Two-Factor Authentication Codes and QR Codes
116. Generating QR Code and Auth URI for Two-Factor Authentication
117. Testing the Two-Factor Authentication Setup
118. Two-Factor Authentication Code Verification
119. Dad Joke Break Enable Two-Factor Authentication
120. Intro to Verify Two-Factor Authentication (2FA)
121. Two-Factor Authentication and Session Verification
122. Implementing Two-Factor Authentication Flow
123. Switching to Verified Session ID After Code Verification
124. Two-Factor Authentication Login in Node.js
125. Dad Joke Break Verify Two-Factor Authentication (2FA)
126. Intro to Two-Factor Authentication Check
127. Two-Factor Authentication Deletion
128. Disabling Two-Factor Authentication
129. Adding User Re-Verification for Critical Operations
130. Implementing Verification Age Check for Disable 2FA
131. Managing User Verification and Two-Factor Authentication
132. Redirecting Users to Re-verify for 2FA Disabling
133. Session Expiry Issue During 2FA Disablement Flow
134. Fixing Session Expiration Behavior in 2FA Disablement Flow
135. Dad Joke Break Two-Factor Authentication Check
136. Intro to Oauth
137. Integrating GitHub Authentication
138. Setting up OAuth Authentication with GitHub
139. Testing the OAuth Flow with GitHub Authentication
140. Implementing OAuth2 Flow with GitHub for User Authentication
141. Simulating Third-Party Dependencies
142. Simulating GitHub Authentication Flow with Mocks
143. Updating Prisma Schema for GitHub Login
144. Establishing Connections and Seed Script in Prisma for GitHub Authentication
145. Dad Joke Break Oauth
146. Intro to Provider Errors
147. Handling Errors in Third-Party API Calls
148. Handling Errors and Redirecting with GitHub Authentication
149. Handling Connection Errors and Duplication in Account Management
150. Handling Existing Connections in AuthProvider Callback
151. Dad Joke Break Provider Errors
152. Intro to Third Party Login
153. Implementing GitHub Login with Two-Factor Authentication
154. Refactoring Login Logic and Implementing GitHub Login
155. Sign Up with GitHub and Handling Mocked Data
156. Onboarding and User Authentication with Third-Party Providers
157. Dad Joke Break Third Party Login
158. Intro to Connection
159. Connecting Website and GitHub Accounts
160. Automatically Connecting User Profiles with Existing Accounts
161. Adding Multiple GitHub Connections to User Accounts
162. Connecting Existing Accounts with an Auth Provider
163. Dad Joke Break Connection
164. Intro to Redirect Cookie
165. Managing Redirects in Forms and Handling Cookies for Persistent Navigation
166. Adding Redirect Functionality to Login and Signup Forms
167. Handling Redirects and Cookies
168. Handling Authentication Redirects and Cookies
169. Handling Redirects
170. Managing Redirects and Cookies
171. Dad Joke Break Redirect Cookie
172. Outro to Authentication Strategies & Implementation Workshop