Autoplay
Autocomplete
Previous Lesson
Complete and Continue
JSON Web Token (JWT) with Spring Security And Angular
Introduction
Introduction (1:30)
Application Demo (9:29)
Prerequisites (4:48)
Instructor Teaching Style (4:40)
How to get the most out of this course (5:25)
Environment Setup (12:40)
Asking questions and Source code
Web Application Overview
Web Application Structure (5:33)
Front End (2:55)
Back End (3:08)
Data Store (4:17)
Cloud (5:37)
Application Domain
User domain - Part 1 (15:30)
User domain - Part 2 (4:18)
Custom Http Response (11:35)
Spring Security User (11:21)
Database Configuration (6:44)
Run Application (7:29)
Security
Web Application Security (2:29)
Authentication and Authorization (2:33)
Json Web Toke (JWT) (2:56)
Security with Json Web Token (JWT) (3:19)
Security Constants (17:16)
Java JWT Library (4:35)
JWT Token Provider - Part 1 (30:56)
JWT Token Provider - Part 2 (12:17)
JWT Token Provider - Part 3 (11:59)
JWT Authorization Filter - Part 1 (10:22)
JWT Authorization Filter - Part 2 (10:53)
Authentication Entry Point (11:11)
Access Denied Handler (2:38)
User Repository (4:01)
User Details Service (17:27)
Security Configuration (15:47)
Testing Security Endpoint (11:20)
Custom Exception Handling
Exception Handling (4:56)
Custom Exception Classes (4:55)
Custom Exception Handling - Part 1 (5:16)
Custom Exception Handling - Part 2 (9:48)
Custom Exception Handling - Part 3 (7:56)
Testing Exception Handling (7:45)
Override Spring Default White Label Error (23:38)
User Registration
User authorities (11:04)
User Roles (6:07)
User Registration - Part 1 (8:15)
User Registration - Part 2 (9:34)
User Registration - Part 3 (14:24)
User Registration - Part 4 (5:36)
User Registration - Part 5 (11:12)
Code Cleanup (9:04)
Testing User Registration (5:32)
Generate Json Web Token (JWT)
Security With Json Web Token (JWT) (1:30)
Logging Generating JWT (8:14)
Testing User Login (9:59)
Source Code
Brute Force Attack
Defining Brute Force Attack (2:37)
Brute Force Attack Cache - Part 1 (8:48)
Brute Force Attack Cache - Part 2 (11:05)
Authentication Failure Listener (6:13)
Authentication Success Listener (4:08)
Validating User Login (8:47)
Testing Brute Force Attack (10:27)
Email Notification
Email Constants (3:15)
Email Session (6:05)
Email Content (6:11)
Sending Email (3:57)
Testing Email Notification (6:34)
Gmail Less Secure App
User Service and Implementation
User Service Methods (7:51)
File Constant (6:23)
User Service Implementation - Part 1 (9:00)
User Service Implementation - Part 2 (8:41)
User Service Implementation - Part 3 (9:37)
User Service Implementation - Part 4 (7:30)
User Resource
API Design Progress (3:40)
Adding New User (10:31)
Updating, Finding, and Resetting User Password (11:08)
Deleting and Updating User Profile Image (11:51)
Fetching User Profile Image (8:19)
Getting User Avatar Image (10:40)
Different Types of Tests (8:37)
API Testing
Introduction (3:28)
Testing User Registration (9:37)
Testing User Login (8:54)
Testing User Add (9:10)
Testing User Update (5:10)
Testing User Find (3:00)
Testing User List (7:34)
Testing User Reset Password (5:49)
Testing User Delete (11:45)
Testing User Image Update (6:20)
Front End Introduction
Introduction (9:03)
Front End Design (5:28)
Creating Angular Application (6:56)
Authentication Service
Creating Service (5:19)
Configuring HTTP and Environment Variable (5:39)
Login HTTP Service Call (9:59)
Creating User Class (1:58)
Registering User HTTP Call (2:20)
Logging User Out (3:43)
Adding Token to Cache (2:29)
Adding User to Cache (1:45)
Retrieving User from Cache (2:23)
Loading Token from Cache (2:46)
Retrieving Token from Cache (0:52)
Checking Logged in User (10:38)
User Service
Listing User HTTP Call (3:25)
Adding User HTTP Call (3:30)
Updating User HTTP Call (1:44)
Resetting Password HTTP Call (3:11)
Updating Profile Image HTTP Call (5:22)
Deleting User HTTP Call (2:13)
Adding Users to Cache (2:23)
Retrieving User from Cache (3:13)
Adding User Class Properties (2:53)
Creating Form Data (6:23)
Custom HTTP Response Mapping (8:05)
Interceptor
Introduction (3:09)
Creating Interceptor - Part 1 (9:03)
Creating Interceptor - Part 2 (8:04)
Configuring HTTP Interceptor (3:03)
Guard
Introduction (2:34)
Creating Guard - Part 1 (2:18)
Creating Guard - Part 2 (7:37)
Configuring Guard (0:55)
Notification
Introduction (7:38)
Creating Notification Module (9:16)
Configuring Notification Module (1:38)
Creating Notification Service (6:23)
Notification Types (7:41)
HTML Template
HTML Template Walk-through (12:41)
Generating Components (4:51)
Configuring Routes (6:28)
Test Routes (2:15)
Adding Router Outlet (2:45)
User Logging
Login Template - Part 1 (4:14)
Login Template - Part 2 (2:19)
Login Component - Part 1 (7:22)
Login Component - Part 2 (6:07)
Login Component - Part 3 (5:06)
Login Component - Part 4 (4:25)
Login Component - Part 5 (2:12)
Adding HTTP Header Type (2:15)
Login Template - Part 3 (4:13)
Login Template - Part 4 (5:39)
Testing Login - Part 1 (6:10)
Adding Notification Styles and Element (6:12)
Testing Login - Part 2 (4:49)
Testing Login - Part 3 (5:58)
Testing Login - Part 4 (6:17)
Register Page
Register Template (4:34)
Register Component (5:31)
Testing Register (6:43)
Display User Information
Adding Page Header (5:34)
Adding Tab Name - Part 1 (6:58)
Adding Tab Name - Part 2 (6:21)
Adding User Table (3:05)
Fetching Users (8:34)
Adding Users to Table (7:09)
User Information Modal - Part 1 (8:00)
User Information Modal - Part 2 (7:10)
User List Page
Adding New User Form (6:17)
JavaScript File Change Event (5:03)
Getting Profile Image and Save button (6:28)
Saving New User (7:50)
Refactoring and Testing Add New User (8:27)
About the Implementation (1:51)
Search User - Part 1 (8:21)
Search User - Part 2 (10:55)
Open Edit Model Logic (7:20)
Edit User HTTP Call (4:34)
Testing Edit User (2:10)
Delete User HTTP Call (5:17)
Testing Delete User (4:13)
Reset Password HTTP Call (6:30)
Testing Reset Password (8:50)
User Profile Page
User Profile Template (4:47)
Updating User (5:50)
Logging User Out (3:33)
Profile Image Form (6:07)
Updating Profile Image (5:38)
Report Upload Progress - Part 1 (5:29)
Report Upload Progress - Part 2 (9:06)
Report Upload Progress - Part 3 (5:16)
Enhancement
Hiding Sensitive Information (6:56)
Refactoring Delete User (5:08)
Delete User Image on User Delete (6:12)
Allowing Only Image Files - Part 1 (7:26)
Allowing Only Image Files - Part 2 (4:46)
Reset Password Route (4:38)
Security Management
Introduction (3:06)
Mapping User Roles (2:44)
Fetching Current User Role (4:34)
Role-based Security Management - Part 1 (6:36)
Role-based Security Management - Part 2 (6:23)
Role-based Security Management - Part 3 (6:51)
Managing Subscriptions (2:09)
Managing Subscriptions with Subsink (5:26)
Deployment
Introduction (4:56)
Using AWS (4:07)
Provisioning EC2 Instance (7:10)
Configuring EC2 Instance - Part 1 (6:37)
Configuring EC2 Instance - Part 2 (7:38)
Configure Spring Boot Application (7:30)
Running in AWS (7:47)
Deploying Angular Application (13:51)
Creating Unix Service (16:56)
Testing in Production (4:08)
Final Note
Becoming a Software Engineer (12:49)
Teach online with
Creating Form Data
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock