Урок 1.
00:04:25
Introduction
Урок 2.
00:07:20
Introduction to OAuth 2
Урок 3.
00:03:17
OAuth 2.0 Roles
Урок 4.
00:04:19
Current State of OAuth 2.0 in Spring Security 5
Урок 5.
00:05:01
OAuth 2.0 Client Types
Урок 6.
00:07:46
OAuth Access Token
Урок 7.
00:03:41
OAuth2 and OpenID Connect (OIDC)
Урок 8.
00:04:27
Introduction
Урок 9.
00:09:46
Authorization Code. Introduction.
Урок 10.
00:07:37
Authorization Code Demo. Initial Request.
Урок 11.
00:04:22
Authorization Code Demo. Exchange code for Access token.
Урок 12.
00:05:38
PKCE-enhanced Authorization Code
Урок 13.
00:01:14
Generating PKCE Code Verifier
Урок 14.
00:01:30
Generating PKCE Code Challenge
Урок 15.
00:07:21
PKCE Demo. Requesting Authorization Code
Урок 16.
00:04:44
PKCE Demo. Exchanging Code for Access Token
Урок 17.
00:01:42
Client Credentials
Урок 18.
00:02:39
Client Credentials Grant Type Demo
Урок 19.
00:02:14
The Password Credentials Flow
Урок 20.
00:03:02
The Password Credentials Flow: Demo
Урок 21.
00:05:05
Introduction
Урок 22.
00:02:26
Requesting Refresh Token that never expires
Урок 23.
00:03:14
Refreshing Access Token. Demonstration.
Урок 24.
00:04:08
Introduction
Урок 25.
00:02:03
Starting up Standalone Authorization Server Keycloak
Урок 26.
00:03:41
Starting and Stopping Keycloak Server
Урок 27.
00:01:21
Creating an Initial Admin User
Урок 28.
00:03:04
Creating a new Realm
Урок 29.
00:02:56
Creating a new user
Урок 30.
00:04:53
Creating a new OAuth client application
Урок 31.
00:01:06
Configuring Client Application Secrets
Урок 32.
00:03:56
Requesting Access Token and Refresh Token
Урок 33.
00:02:16
Enable/Disable OAuth 2.0 Authorization Flow
Урок 34.
00:04:56
OAuth 2.0 Client Scopes
Урок 35.
00:03:01
Introduction
Урок 36.
00:04:05
Creating a new project
Урок 37.
00:00:57
Import project into Spring Tool Suite IDE
Урок 38.
00:01:36
Starting Resource Server on different port number
Урок 39.
00:04:50
Creating a Rest Controller Class
Урок 40.
00:02:58
Access Token Validation URIs
Урок 41.
00:03:53
Accessing endpoints with an Access Token
Урок 42.
00:04:17
Accessing Principal and JWT Claims
Урок 43.
00:03:38
Demo - Accessing JWT Claims
Урок 44.
00:09:15
Introduction
Урок 45.
00:01:58
Create WebSecurityConfigurerAdapter and enable Web Security
Урок 46.
00:02:46
Override the default HttpSecurity configuration
Урок 47.
00:02:25
Configure Scope-based access control
Урок 48.
00:03:14
Demo - without using proper Scope
Урок 49.
00:01:06
Demo - using proper Scope
Урок 50.
00:05:35
Introduction
Урок 51.
00:01:15
Creating User Role
Урок 52.
00:02:22
Securing Endpoints to a Specific Role
Урок 53.
00:02:09
Creating Role Converter class
Урок 54.
00:02:12
Decoding JWT to find user roles
Урок 55.
00:01:32
Converting Roles into GrantedAuthority objects
Урок 56.
00:01:08
Register JwtAuthenticationConverter with HttpSecurity
Урок 57.
00:03:40
Trying how it works
Урок 58.
00:04:56
Introduction
Урок 59.
00:02:20
Enable Method Level Security
Урок 60.
00:05:55
@Secured annotation example
Урок 61.
00:04:00
@PreAuthorized annotation
Урок 62.
00:05:39
Reading UserId from JWT Access Token
Урок 63.
00:03:01
Trying how the @PreAuthorized annotation works
Урок 64.
00:03:32
Creating getUser() to be used with @PostAuthorize
Урок 65.
00:03:09
@PostAuthorized annotation
Урок 66.
00:04:07
Trying how to the @PostAuthorized annotation works
Урок 67.
00:06:02
Introduction
Урок 68.
00:04:18
Creating API Gateway Project
Урок 69.
00:00:37
Import API Gateway to Spring Tool Suite
Урок 70.
00:06:27
Configuring API Gateway Routes
Урок 71.
00:03:46
Trying how it works
Урок 72.
00:03:45
Albums & Photos Resource Servers
Урок 73.
00:03:05
Routing to multiple Resource Servers
Урок 74.
00:04:10
Trying how it works
Урок 75.
00:04:40
Introduction
Урок 76.
00:03:24
Creating Eureka Discovery Service Project
Урок 77.
00:03:50
Configuring Eureka project
Урок 78.
00:04:14
Eureka Client Dependency
Урок 79.
00:02:46
@EnableDiscoveryClient and configuration properties
Урок 80.
00:00:51
Trying how it works
Урок 81.
00:01:10
Exercise
Урок 82.
00:04:47
Solution overview
Урок 83.
00:02:08
Load Balancing - Introduction
Урок 84.
00:04:13
Starting Resource Servers on Random IP Address
Урок 85.
00:07:01
Eureka and Resource Server Instance Id
Урок 86.
00:04:38
Configuring API Gateway as Eureka Client
Урок 87.
00:03:25
Configure API Gateway Routes
Урок 88.
00:02:18
Return the running port number
Урок 89.
00:03:47
Trying how it works
Урок 90.
00:01:43
OAuth 2.0 in MVC Web App - Introduction
Урок 91.
00:02:29
Creating a new Spring Boot Project
Урок 92.
00:04:13
Creating Controller class
Урок 93.
00:04:55
Returning list of albums
Урок 94.
00:04:22
Displaying Albums in HTML Page
Урок 95.
00:01:20
Adding OAuth2 Client Dependency
Урок 96.
00:05:31
Configuring OAuth2 Client properties
Урок 97.
00:02:40
Configuring OAuth2 Provider properties
Урок 98.
00:06:26
Reading ID Token
Урок 99.
00:06:12
Reading JWT Access Token
Урок 100.
00:07:40
HTTP Request to an Internal Resource Server
Урок 101.
00:02:09
Trying how it works
Урок 102.
00:01:28
A different approach to adding access token
Урок 103.
00:01:16
Adding WebClient Dependency
Урок 104.
00:04:53
Creating a WebClient Bean
Урок 105.
00:02:41
Using WebClient in a Controller class
Урок 106.
00:01:42
Trying how it works
Урок 107.
00:01:55
Introduction
Урок 108.
00:02:16
Creating a new project
Урок 109.
00:04:04
Protected Resource Controller class
Урок 110.
00:03:05
Protected Resource HTML Page
Урок 111.
00:03:10
Creating public page
Урок 112.
00:03:05
Configure HTTP Security
Урок 113.
00:04:54
OAuth 2 Client and Provider configurations
Урок 114.
00:02:07
Facebook: Client Id and Client Secret
Урок 115.
00:01:31
Trying how Facebook login works
Урок 116.
00:07:45
Google Client Id and Client Secret
Урок 117.
00:01:06
Trying how Google sign-in works
Урок 118.
00:03:51
Register a new Okta app
Урок 119.
00:03:41
Configure Okta properties
Урок 120.
00:01:00
Trying how sign-in with Okta works
Урок 121.
00:03:44
Configure logout functionality
Урок 122.
00:01:13
Configure the Logout link
Урок 123.
00:02:45
Trying how logout link works
Урок 124.
00:03:52
OpenID Connect End Session Endpoint
Урок 125.
00:02:56
Implementing OidcClientInitiatedLogoutSuccessHandler
Урок 126.
00:01:08
Trying how Logout from Okta works
Урок 127.
00:02:09
Introduction
Урок 128.
00:05:33
Creating a new Public client in Keycloak
Урок 129.
00:01:26
Creating a new Spring Boot client application
Урок 130.
00:01:46
Creating Index.html
Урок 131.
00:01:09
Import jQuery
Урок 132.
00:04:12
Generating Random State value
Урок 133.
00:02:29
Generating Code Verifier value
Урок 134.
00:03:27
Generating Code Challenge value
Урок 135.
00:05:11
Requesting PKCE-Enhanced Authorization Code
Урок 136.
00:01:00
Creating Auth Code Reader HTML Page
Урок 137.
00:03:43
Reading authorization code from the Redirect URI
Урок 138.
00:02:17
Validating "state" request parameter
Урок 139.
00:05:46
Exchange Code for Access Token
Урок 140.
00:02:11
Finding Refresh Token and ID Token
Урок 141.
00:05:23
Sending Request to Resource Server
Урок 142.
00:04:54
Configure CORS Access on API Gateway
Урок 143.
00:10:05
Configure CORS in Resource Server
Урок 144.
00:04:05
Introduction
Урок 145.
00:03:10
Creating a new project
Урок 146.
00:04:47
Creating RemoteUserStorageProvider class
Урок 147.
00:04:04
Creating RemoteUserStorageProviderFactory class
Урок 148.
00:01:26
Adding Keycloak Core Dependency
Урок 149.
00:03:28
Solution overview
Урок 150.
00:09:16
Remote Users Webservice Overview
Урок 151.
00:01:44
RESTEasy HTTP Client Dependency
Урок 152.
00:05:55
Implementing Users Api Service
Урок 153.
00:03:06
Creating User Class
Урок 154.
00:03:57
Adding the verifyUserPassword to UsersApiService
Урок 155.
00:04:46
Building RESTEasy HTTP Client
Урок 156.
00:05:39
Implementing getUserByUsername() method
Урок 157.
00:03:48
Verifying User Password
Урок 158.
00:04:17
Packaging UserStorageProvider
Урок 159.
00:08:46
Deploying User Storage SPI
Урок 160.
00:04:42
Trying how it works
Урок 161.
00:03:33
Introduction
Урок 162.
00:04:02
Creating a new project
Урок 163.
00:08:45
Register an OAuth Client
Урок 164.
00:05:31
Configure Authorization Server
Урок 165.
00:03:40
Spring Security Configuration
Урок 166.
00:04:59
A request for Authorization Code
Урок 167.
00:06:07
Exchange Authorization Code for JWT Access Token
Урок 168.
00:03:52
Creating and Configure Resource Server
Урок 169.
00:04:19
Resource Server API Endpoint
Урок 170.
00:03:39
Consume protected API Endpoints
Урок 171.
00:03:41
Project Overview
Урок 172.
00:04:42
OAuth2 Client-related configuration
Урок 173.
00:02:53
Reading the JWT Access Token
Урок 174.
00:03:44
Sending HTTP Request
Урок 175.
00:01:39
Trying how it works
Обновите курс, пожалуйста!