Section 1 : Introduction

Lecture 1 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf
Lecture 2 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf
Lecture 3 Introduction 3:57
Lecture 4 Introduction to OAuth 2 7:20
Lecture 5 OAuth 2 3:17
Lecture 6 Current State of OAuth 2 4:18
Lecture 7 OAuth 2 5:1
Lecture 8 OAuth Access Token 7:45
Lecture 9 OAuth2 and OpenID Connect (OIDC) 3:40

Section 2 : OAuth 2 Grant Types and Authorization Flows

Lecture 10 Introduction 4:26
Lecture 11 Authorization Code 9:45
Lecture 12 Authorization Code Demo 7:37
Lecture 13 Authorization Code Demo 4:21
Lecture 14 PKCE-enhanced Authorization Code 5:37
Lecture 15 Generating PKCE Code Verifier 1:14
Lecture 16 Generating PKCE Code Challenge 1:29
Lecture 17 PKCE Demo 7:20
Lecture 18 PKCE Demo 4:44
Lecture 19 Client Credentials 1:42
Lecture 20 Client Credentials Grant Type Demo 2:38
Lecture 21 The Password Credentials Flow 2:13
Lecture 22 The Password Credentials Flow Demo 3:1

Section 3 : Refreshing Access Token

Lecture 23 Introduction 5:5
Lecture 24 Requesting Refresh Token that never expires 2:25
Lecture 25 Refreshing Access Token 3:13

Section 4 : Keyclock

Lecture 26 Introduction 4:7
Lecture 27 Starting up Standalone Authorization Server Keyclock 2:3
Lecture 28 Starting and Stopping Keycloak Server 3:40
Lecture 29 Creating an Initial Admin User 1:21
Lecture 30 Creating a new Realm 3:3
Lecture 31 Creating a new user 2:55
Lecture 32 Creating a new OAuth client application 4:53
Lecture 33 Configuring Client Application Secrets 1:5
Lecture 34 Requesting Access Token and Refresh Token 3:55
Lecture 35 EnableDisable OAuth 2 2:15
Lecture 36 OAuth 2 4:55

Section 5 : OAuth Resource Server

Lecture 37 Introduction 3:0
Lecture 38 Creating a new project 4:5
Lecture 39 Import project into Spring Tool Suite IDE 0:56
Lecture 40 Starting Resource Server on different port number 1:35
Lecture 41 Creating a Rest Controller Class 4:49
Lecture 42 Access Token Validation URIs 2:57
Lecture 43 Accessing endpoints with an Access Token 3:53
Lecture 44 Accessing Principal and JWT Claims 4:17
Lecture 45 Demo - Accessing JWT Claims 3:38

Section 6 : Resource Server - Scope Based Access Control

Lecture 46 Introduction 9:14
Lecture 47 Create WebSecurityConfigurerAdapter and enable Web Security 1:58
Lecture 48 Override the default HttpSecurity configuration 2:45
Lecture 49 Configure Scope-based access control 2:24
Lecture 50 Demo - without using proper Scope 3:13
Lecture 51 Demo - using proper Scope 1:5
Lecture 52 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf

Section 7 : Role Based Access Control with Keycloak

Lecture 53 Introduction 5:34
Lecture 54 Source code Text
Lecture 55 Creating User Role 1:15
Lecture 56 Securing Endpoints to a Specific Role 2:21
Lecture 57 Creating Role Converter class 2:8
Lecture 58 Decoding JWT to find user roles 2:11
Lecture 59 Converting Roles into GrantedAuthority objects 1:31
Lecture 60 Register JwtAuthenticationConverter with HttpSecurity 1:7
Lecture 61 Trying how it works

Section 8 : Resource Server Method Level Security

Lecture 62 Introduction 4:55
Lecture 63 Source code Text
Lecture 64 Enable Method Level Security 2:19
Lecture 65 @Secured annotation example 5:54
Lecture 66 @PreAuthorized annotation 4:0
Lecture 67 Reading UserId from JWT Access Token 5:39
Lecture 68 Trying how the @PreAuthorized annotation works 3:0
Lecture 69 Creating getUser() to be used with @PostAuthorize 3:31
Lecture 70 @PostAuthorized annotation 3:8
Lecture 71 Trying how to the @PostAuthorized annotation works 4:6

Section 9 : Resource Server Behind API Gateway

Lecture 72 Introduction 6:1
Lecture 73 Creating API Gateway Project
Lecture 74 Import API Gateway to Spring Tool Suite 0:37
Lecture 75 Configuring API Gateway Routes 6:26
Lecture 76 Trying how it works 3:46
Lecture 77 Albums & Photos Resource Servers 3:44
Lecture 78 Routing to multiple Resource Servers 3:4
Lecture 79 Trying how it works 4:9

Section 10 : Eureka Discovery Service

Lecture 80 Introduction 4:40
Lecture 81 Creating Eureka Discovery Service Project 3:20
Lecture 82 Configuring Eureka project 3:50

Section 11 : Configure Resource Server as Eureka Client

Lecture 83 Eureka Client Dependency 4:13
Lecture 84 @EnableDiscoveryClient and configuration properties 2:45
Lecture 85 Trying how it works 0:50
Lecture 86 Exercise 1:10
Lecture 87 Source Code
Lecture 88 Solution overview 4:46

Section 12 : Load Balancing

Lecture 89 Load Balancing - Introduction 2:8
Lecture 90 Starting Resource Servers on Random IP Address 4:12
Lecture 91 Eureka and Resource Server Instance Id 7:0
Lecture 92 Configuring API Gateway as Eureka Client 4:37
Lecture 93 Configure API Gateway Routes 3:24
Lecture 94 Return the running port number 2:17
Lecture 95 Trying how it works 3:47

Section 13 : OAuth 2

Lecture 96 OAuth 2 1:42
Lecture 97 Source code Text
Lecture 98 Creating a new Spring Boot Project
Lecture 99 Creating Controller class 4:12
Lecture 100 Returning list of albums 4:54
Lecture 101 Displaying Albums in HTML Page 4:21
Lecture 102 Adding OAuth2 Client Dependency 1:20
Lecture 103 Configuring OAuth2 Client properties 5:30
Lecture 104 Configuring OAuth2 Provider properties 2:39
Lecture 105 Reading ID Token 6:26
Lecture 106 Reading JWT Access Token 6:12
Lecture 107 HTTP Request to an Internal Resource Server 7:39
Lecture 108 Trying how it works 2:9
Lecture 109 A different approach to adding access token 1:27
Lecture 110 Adding WebClient Dependency 1:15
Lecture 111 Creating a WebClient Bean
Lecture 112 Using WebClient in a Controller class 2:40
Lecture 113 Trying how it works 1:41

Section 14 : OAuth 2 - Social Login

Lecture 114 Introduction 1:54
Lecture 115 Source code Text
Lecture 116 Creating a new project 2:15
Lecture 117 Protected Resource Controller class 4:4
Lecture 118 Protected Resource HTML Page 3:5
Lecture 119 Creating public page 3:10
Lecture 120 Configure HTTP Security
Lecture 121 OAuth 2 Client and Provider configurations 4:53
Lecture 122 Facebook Client Id and Client Secret 2:6
Lecture 123 Trying how Facebook login works 1:31
Lecture 124 Google Client Id and Client Secret 7:44
Lecture 125 Trying how Google sign-in works 1:5
Lecture 126 Register a new Okta app 3:50
Lecture 127 Configure Okta properties 3:40
Lecture 128 Trying how sign-in with Okta works 0:59
Lecture 129 Configure logout functionality 3:43
Lecture 130 Configure the Logout link 1:12
Lecture 131 Trying how logout link works 2:44
Lecture 132 OpenID Connect End Session Endpoint 3:52
Lecture 133 Implementing OidcClientInitiatedLogoutSuccessHandler 2:55
Lecture 134 Trying how Logout from Okta works 1:7

Section 15 : OAuth2 + PKCE in JavaScript Application

Lecture 135 Introduction 2:8
Lecture 136 Creating a new Public client in Keycloak 5:32
Lecture 137 Creating a new Spring Boot client application 1:26
Lecture 138 Creating Index 1:45
Lecture 139 Import jQuery 1:9
Lecture 140 Generating Random State value 4:11
Lecture 141 Generating Code Verifier value 2:28
Lecture 142 Generating Code Challenge value 3:26
Lecture 143 Requesting PKCE-Enhanced Authorization Code 5:10
Lecture 144 Creating Auth Code Reader HTML Page 0:59
Lecture 145 Reading authorization code from the Redirect URI 3:42
Lecture 146 Validating state request parameter 2:17
Lecture 147 Exchange Code for Access Token 5:45
Lecture 148 Finding Refresh Token and ID Token 2:11
Lecture 149 Sending Request to Resource Server 5:22
Lecture 150 Configure CORS Access on API Gateway 4:53
Lecture 151 Configure CORS in Resource Server 10:4