آموزش OAuth 2.0 در Spring Boot Applications

OAuth 2.0 in Spring Boot Applications

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: آموزش ایمن سازی برنامه های Spring Boot با پشته OAuth 2.0 جدید در Spring Security 5 OAuth 2.0 OAuth 2 جریان های مجوز پشته OAuth 2.0 جدید در Spring Security 5 استفاده از OAuth 2.0 در برنامه های Spring Boot پیکربندی OAuth 2.0 Resource Server Keycloak و مدیریت دسترسی منبع سرورهای پشت API Gateway New Spring Authorization Server OAuth 2.0 در MVC Web App OAuth 2 - Social Login OAuth2 + PKCE در JavaScript Application ثبت نام سرورهای منبع با رجیستری سرویس Eureka پیش نیازها:دانش جاوا دانش Spring Boot دانش Spring MVC

این دوره ویدیویی برای توسعه دهندگان مبتدی جاوا است که علاقه مند به یادگیری نحوه ایمن کردن منابع OAuth 2.0 در Spring Security 5 هستند.

این دوره فقط پشته OAuth 2.0 جدید در Spring Security 5 را پوشش می دهد.

شما یاد خواهید گرفت که چگونه:

  • هر جریان مجوز OAuth 2 را انجام دهید،

    • کد مجوز،

    • کد مجوز بهبود یافته با PKCE،

    • اطلاعات اعتبار مشتری،

    • اطلاعات گذرواژه.

  • سرور Keycloak را راه اندازی و پیکربندی کنید،

  • سرور منبع OAuth 2 را پیکربندی کنید،

  • چندین سرور منبع را با شماره پورت تصادفی راه اندازی کنید،

  • درگاه Spring Cloud API را پیکربندی کنید،

  • Eureka Registry and Discovery Service را پیکربندی و استفاده کنید،

  • یک برنامه وب ساده Spring MVC بسازید که داده ها را از یک سرور منبع محافظت شده که در پشت دروازه Spring Cloud API اجرا می شود، واکشی می کند.

  • یک برنامه جاوا اسکریپت ساده را پیاده سازی کنید که از کد مجوز پیشرفته PKCE برای بدست آوردن نشانه های دسترسی JWT و برقراری ارتباط با سرور منبع محافظت شده استفاده می کند،

  • با نحوه بازخوانی نشانه دسترسی منقضی JWT آشنا شوید،

  • پیاده‌سازی کنترل دسترسی مبتنی بر دامنه را بیاموزید،

  • با نحوه اجرای کنترل دسترسی مبتنی بر نقش،

    آشنا شوید
  • ورود به سیستم اجتماعی OAuth با حساب‌های Facebook، Google و Okta،

  • اجرای تأیید هویت کاربر از راه دور Keycloak (SPI Storage کاربر)

  • سرور مجوز Spring جدید نسخه 0.2.2

این یک دوره ویدیویی گام به گام است که نحوه استفاده از OAuth 2 را از همان ابتدا توضیح می دهد. اگر تجربه ای با OAuth ندارید و دوست دارید نحوه استفاده از آن را در برنامه های وب Spring Boot یاد بگیرید، پس این دوره ویدیویی برای شما مناسب است.


سرفصل ها و درس ها

معرفی Introduction

  • کد منبع Source Code

  • فایل های ارائه Presentation files

  • فایل های ارائه Presentation files

  • معرفی Introduction

  • مقدمه ای بر OAuth 2 Introduction to OAuth 2

  • نقش های OAuth 2.0 OAuth 2.0 Roles

  • نقش های OAuth 2.0 OAuth 2.0 Roles

  • وضعیت فعلی OAuth 2.0 در Spring Security 5 Current State of OAuth 2.0 in Spring Security 5

  • وضعیت فعلی OAuth 2.0 در Spring Security 5 Current State of OAuth 2.0 in Spring Security 5

  • انواع مشتری OAuth 2.0 OAuth 2.0 Client Types

  • انواع مشتری OAuth 2.0 OAuth 2.0 Client Types

  • نشانه دسترسی OAuth OAuth Access Token

  • نشانه دسترسی OAuth OAuth Access Token

  • OAuth2 و OpenID Connect (OIDC) OAuth2 and OpenID Connect (OIDC)

معرفی Introduction

  • کد منبع Source Code

  • معرفی Introduction

  • مقدمه ای بر OAuth 2 Introduction to OAuth 2

  • OAuth2 و OpenID Connect (OIDC) OAuth2 and OpenID Connect (OIDC)

OAuth 2 انواع اعطای و جریان های مجوز OAuth 2 Grant Types and Authorization Flows

  • معرفی Introduction

  • کد مجوز. معرفی. Authorization Code. Introduction.

  • نسخه نمایشی کد مجوز. درخواست اولیه Authorization Code Demo. Initial Request.

  • نسخه نمایشی کد مجوز. درخواست اولیه Authorization Code Demo. Initial Request.

  • یادداشت مهم Important note

  • یادداشت مهم Important note

  • نسخه نمایشی کد مجوز. کد اکسس را مبادله کنید. Authorization Code Demo. Exchange code for Access token.

  • نسخه نمایشی کد مجوز. کد اکسس را مبادله کنید. Authorization Code Demo. Exchange code for Access token.

  • کد مجوز تقویت شده با PKCE PKCE-enhanced Authorization Code

  • ایجاد تأیید کننده کد PKCE Generating PKCE Code Verifier

  • ایجاد تأیید کننده کد PKCE Generating PKCE Code Verifier

  • ایجاد چالش کد PKCE Generating PKCE Code Challenge

  • ایجاد چالش کد PKCE Generating PKCE Code Challenge

  • نسخه ی نمایشی PKCE. درخواست کد مجوز PKCE Demo. Requesting Authorization Code

  • نسخه ی نمایشی PKCE. تبادل کد برای اکسس توکن PKCE Demo. Exchanging Code for Access Token

  • نسخه ی نمایشی PKCE. تبادل کد برای اکسس توکن PKCE Demo. Exchanging Code for Access Token

  • اعتبار مشتری Client Credentials

  • اعتبار مشتری نوع آزمایشی اعطا Client Credentials Grant Type Demo

  • اعتبار مشتری نوع آزمایشی اعطا Client Credentials Grant Type Demo

  • جریان اعتبار رمز عبور The Password Credentials Flow

  • جریان اعتبار رمز عبور: نسخه ی نمایشی The Password Credentials Flow: Demo

  • جریان اعتبار رمز عبور: نسخه ی نمایشی The Password Credentials Flow: Demo

OAuth 2 انواع اعطای و جریان های مجوز OAuth 2 Grant Types and Authorization Flows

  • معرفی Introduction

  • کد مجوز. معرفی. Authorization Code. Introduction.

  • کد مجوز تقویت شده با PKCE PKCE-enhanced Authorization Code

  • نسخه ی نمایشی PKCE. درخواست کد مجوز PKCE Demo. Requesting Authorization Code

  • اعتبار مشتری Client Credentials

  • جریان اعتبار رمز عبور The Password Credentials Flow

درحال تازه‌سازی نشانه دسترسی Refreshing Access Token

  • معرفی Introduction

  • معرفی Introduction

  • درخواست Refresh Token که هرگز منقضی نمی شود Requesting Refresh Token that never expires

  • درحال تازه‌سازی نشانه دسترسی. تظاهرات. Refreshing Access Token. Demonstration.

درحال تازه‌سازی نشانه دسترسی Refreshing Access Token

  • معرفی Introduction

  • درخواست Refresh Token که هرگز منقضی نمی شود Requesting Refresh Token that never expires

  • درحال تازه‌سازی نشانه دسترسی. تظاهرات. Refreshing Access Token. Demonstration.

شنل کلید. سرور مجوز مستقل. Keycloak. The Standalone Authorization Server.

  • معرفی Introduction

  • راه اندازی Keycloak سرور مجوز مستقل Starting up Standalone Authorization Server Keycloak

  • راه اندازی Keycloak سرور مجوز مستقل Starting up Standalone Authorization Server Keycloak

  • راه اندازی و توقف سرور Keycloak Starting and Stopping Keycloak Server

  • ایجاد یک کاربر مدیریت اولیه Creating an Initial Admin User

  • ایجاد یک کاربر مدیریت اولیه Creating an Initial Admin User

  • ایجاد یک قلمرو جدید Creating a new Realm

  • ایجاد یک قلمرو جدید Creating a new Realm

  • ایجاد یک کاربر جدید Creating a new user

  • ایجاد یک برنامه مشتری OAuth جدید Creating a new OAuth client application

  • پیکربندی اسرار برنامه مشتری Configuring Client Application Secrets

  • درخواست توکن دسترسی و رفرش توکن Requesting Access Token and Refresh Token

  • درخواست توکن دسترسی و رفرش توکن Requesting Access Token and Refresh Token

  • فعال/غیرفعال کردن جریان مجوز OAuth 2.0 Enable/Disable OAuth 2.0 Authorization Flow

  • OAuth 2.0 Client Scopes OAuth 2.0 Client Scopes

  • OAuth 2.0 Client Scopes OAuth 2.0 Client Scopes

شنل کلید. سرور مجوز مستقل. Keycloak. The Standalone Authorization Server.

  • معرفی Introduction

  • راه اندازی و توقف سرور Keycloak Starting and Stopping Keycloak Server

  • ایجاد یک کاربر جدید Creating a new user

  • ایجاد یک برنامه مشتری OAuth جدید Creating a new OAuth client application

  • پیکربندی اسرار برنامه مشتری Configuring Client Application Secrets

  • فعال/غیرفعال کردن جریان مجوز OAuth 2.0 Enable/Disable OAuth 2.0 Authorization Flow

سرور منبع OAuth OAuth Resource Server

  • معرفی Introduction

  • ایجاد یک پروژه جدید Creating a new project

  • پروژه را به Spring Tool Suite IDE وارد کنید Import project into Spring Tool Suite IDE

  • پروژه را به Spring Tool Suite IDE وارد کنید Import project into Spring Tool Suite IDE

  • راه اندازی سرور منبع در شماره پورت های مختلف Starting Resource Server on different port number

  • ایجاد کلاس Rest Controller Creating a Rest Controller Class

  • ایجاد کلاس Rest Controller Creating a Rest Controller Class

  • به URI های اعتبارسنجی رمز دسترسی داشته باشید Access Token Validation URIs

  • دسترسی به نقاط پایانی با یک رمز دسترسی Accessing endpoints with an Access Token

  • دسترسی به نقاط پایانی با یک رمز دسترسی Accessing endpoints with an Access Token

  • دسترسی به ادعاهای اصلی و JWT Accessing Principal and JWT Claims

  • نسخه ی نمایشی - دسترسی به ادعاهای JWT Demo - Accessing JWT Claims

  • نسخه ی نمایشی - دسترسی به ادعاهای JWT Demo - Accessing JWT Claims

سرور منبع OAuth OAuth Resource Server

  • معرفی Introduction

  • ایجاد یک پروژه جدید Creating a new project

  • راه اندازی سرور منبع در شماره پورت های مختلف Starting Resource Server on different port number

  • به URI های اعتبارسنجی رمز دسترسی داشته باشید Access Token Validation URIs

  • دسترسی به ادعاهای اصلی و JWT Accessing Principal and JWT Claims

سرور منبع - کنترل دسترسی مبتنی بر دامنه Resource Server - Scope Based Access Control

  • معرفی Introduction

  • WebSecurityConfigurerAdapter را ایجاد کنید و امنیت وب را فعال کنید Create WebSecurityConfigurerAdapter and enable Web Security

  • WebSecurityConfigurerAdapter را ایجاد کنید و امنیت وب را فعال کنید Create WebSecurityConfigurerAdapter and enable Web Security

  • تنظیمات پیش فرض HttpSecurity را لغو کنید Override the default HttpSecurity configuration

  • تنظیمات پیش فرض HttpSecurity را لغو کنید Override the default HttpSecurity configuration

  • کنترل دسترسی مبتنی بر Scope را پیکربندی کنید Configure Scope-based access control

  • کنترل دسترسی مبتنی بر Scope را پیکربندی کنید Configure Scope-based access control

  • نسخه ی نمایشی - بدون استفاده از Scope مناسب Demo - without using proper Scope

  • نسخه ی نمایشی - بدون استفاده از Scope مناسب Demo - without using proper Scope

  • نسخه ی نمایشی - با استفاده از محدوده مناسب Demo - using proper Scope

  • نسخه ی نمایشی - با استفاده از محدوده مناسب Demo - using proper Scope

  • ایجاد OAuth 2 Scope در Keycloak Creating OAuth 2 Scope in Keycloak

  • ایجاد OAuth 2 Scope در Keycloak Creating OAuth 2 Scope in Keycloak

سرور منبع - کنترل دسترسی مبتنی بر دامنه Resource Server - Scope Based Access Control

  • معرفی Introduction

کنترل دسترسی مبتنی بر نقش با Keycloak Role Based Access Control with Keycloak

  • معرفی Introduction

  • کد منبع Source code

  • ایجاد نقش کاربر Creating User Role

  • ایجاد نقش کاربر Creating User Role

  • ایمن کردن نقاط پایانی برای یک نقش خاص Securing Endpoints to a Specific Role

  • ایجاد کلاس Role Converter Creating Role Converter class

  • رمزگشایی JWT برای یافتن نقش های کاربر Decoding JWT to find user roles

  • تبدیل Roles به اشیاء GrantedAuthority Converting Roles into GrantedAuthority objects

  • تبدیل Roles به اشیاء GrantedAuthority Converting Roles into GrantedAuthority objects

  • JwtAuthenticationConverter را با HttpSecurity ثبت کنید Register JwtAuthenticationConverter with HttpSecurity

  • JwtAuthenticationConverter را با HttpSecurity ثبت کنید Register JwtAuthenticationConverter with HttpSecurity

  • امتحان کردن چگونه کار می کند Trying how it works

کنترل دسترسی مبتنی بر نقش با Keycloak Role Based Access Control with Keycloak

  • معرفی Introduction

  • ایمن کردن نقاط پایانی برای یک نقش خاص Securing Endpoints to a Specific Role

  • ایجاد کلاس Role Converter Creating Role Converter class

  • رمزگشایی JWT برای یافتن نقش های کاربر Decoding JWT to find user roles

  • امتحان کردن چگونه کار می کند Trying how it works

سرور منبع: امنیت سطح روش Resource Server: Method Level Security

  • معرفی Introduction

  • کد منبع Source code

  • امنیت سطح روش را فعال کنید Enable Method Level Security

  • @ نمونه حاشیه نویسی امن @Secured annotation example

  • @ نمونه حاشیه نویسی امن @Secured annotation example

  • @PreAuthorized حاشیه نویسی @PreAuthorized annotation

  • خواندن UserId از JWT Access Token Reading UserId from JWT Access Token

  • در حال امتحان کردن نحوه عملکرد حاشیه نویسی @PreAuthorized Trying how the @PreAuthorized annotation works

  • ایجاد getUser() برای استفاده با @PostAuthorize Creating getUser() to be used with @PostAuthorize

  • @PostAuthorized حاشیه نویسی @PostAuthorized annotation

  • امتحان کردن نحوه کار کردن حاشیه نویسی @PostAuthorized Trying how to the @PostAuthorized annotation works

سرور منبع: امنیت سطح روش Resource Server: Method Level Security

  • معرفی Introduction

  • کد منبع Source code

  • امنیت سطح روش را فعال کنید Enable Method Level Security

  • @PreAuthorized حاشیه نویسی @PreAuthorized annotation

  • خواندن UserId از JWT Access Token Reading UserId from JWT Access Token

  • در حال امتحان کردن نحوه عملکرد حاشیه نویسی @PreAuthorized Trying how the @PreAuthorized annotation works

  • ایجاد getUser() برای استفاده با @PostAuthorize Creating getUser() to be used with @PostAuthorize

  • @PostAuthorized حاشیه نویسی @PostAuthorized annotation

  • امتحان کردن نحوه کار کردن حاشیه نویسی @PostAuthorized Trying how to the @PostAuthorized annotation works

سرور منبع پشت دروازه API Resource Server Behind API Gateway

  • معرفی Introduction

  • ایجاد پروژه دروازه API Creating API Gateway Project

  • وارد کردن API Gateway به Spring Tool Suite Import API Gateway to Spring Tool Suite

  • وارد کردن API Gateway به Spring Tool Suite Import API Gateway to Spring Tool Suite

  • پیکربندی مسیرهای دروازه API Configuring API Gateway Routes

  • امتحان کردن چگونه کار می کند Trying how it works

  • سرورهای منبع آلبوم ها و عکس ها Albums & Photos Resource Servers

  • مسیریابی به چندین سرور منبع Routing to multiple Resource Servers

  • امتحان کردن چگونه کار می کند Trying how it works

سرور منبع پشت دروازه API Resource Server Behind API Gateway

  • معرفی Introduction

  • ایجاد پروژه دروازه API Creating API Gateway Project

  • پیکربندی مسیرهای دروازه API Configuring API Gateway Routes

  • امتحان کردن چگونه کار می کند Trying how it works

  • سرورهای منبع آلبوم ها و عکس ها Albums & Photos Resource Servers

  • مسیریابی به چندین سرور منبع Routing to multiple Resource Servers

  • امتحان کردن چگونه کار می کند Trying how it works

سرویس کشف اورکا Eureka Discovery Service

  • معرفی Introduction

  • ایجاد پروژه خدمات کشف اورکا Creating Eureka Discovery Service Project

  • ایجاد پروژه خدمات کشف اورکا Creating Eureka Discovery Service Project

  • پیکربندی پروژه یورکا Configuring Eureka project

سرویس کشف اورکا Eureka Discovery Service

  • معرفی Introduction

  • پیکربندی پروژه یورکا Configuring Eureka project

سرور منبع را به عنوان مشتری Eureka پیکربندی کنید Configure Resource Server as Eureka Client

  • وابستگی مشتری Eureka Eureka Client Dependency

  • @EnableDiscoveryClient و ویژگی های پیکربندی @EnableDiscoveryClient and configuration properties

  • امتحان کردن چگونه کار می کند Trying how it works

  • ورزش Exercise

  • ورزش Exercise

  • کد منبع Source Code

  • بررسی اجمالی راه حل Solution overview

سرور منبع را به عنوان مشتری Eureka پیکربندی کنید Configure Resource Server as Eureka Client

  • وابستگی مشتری Eureka Eureka Client Dependency

  • @EnableDiscoveryClient و ویژگی های پیکربندی @EnableDiscoveryClient and configuration properties

  • امتحان کردن چگونه کار می کند Trying how it works

  • کد منبع Source Code

تعادل بار Load Balancing

  • تعادل بار - مقدمه Load Balancing - Introduction

  • تعادل بار - مقدمه Load Balancing - Introduction

  • راه اندازی سرورهای منبع در آدرس IP تصادفی Starting Resource Servers on Random IP Address

  • راه اندازی سرورهای منبع در آدرس IP تصادفی Starting Resource Servers on Random IP Address

  • شناسه نمونه سرور اورکا و منبع Eureka and Resource Server Instance Id

  • شناسه نمونه سرور اورکا و منبع Eureka and Resource Server Instance Id

  • پیکربندی API Gateway به عنوان Eureka Client Configuring API Gateway as Eureka Client

  • پیکربندی API Gateway به عنوان Eureka Client Configuring API Gateway as Eureka Client

  • مسیرهای دروازه API را پیکربندی کنید Configure API Gateway Routes

  • امتحان کردن چگونه کار می کند Trying how it works

  • شماره پورت در حال اجرا را برگردانید Return the running port number

  • شماره پورت در حال اجرا را برگردانید Return the running port number

  • امتحان کردن چگونه کار می کند Trying how it works

تعادل بار Load Balancing

  • مسیرهای دروازه API را پیکربندی کنید Configure API Gateway Routes

  • امتحان کردن چگونه کار می کند Trying how it works

OAuth 2.0 در برنامه وب MVC OAuth 2.0 in MVC Web App

  • OAuth 2.0 در برنامه وب MVC - مقدمه OAuth 2.0 in MVC Web App - Introduction

  • کد منبع Source code

  • کد منبع Source code

  • ایجاد یک پروژه جدید بهار بوت Creating a new Spring Boot Project

  • ایجاد یک پروژه جدید بهار بوت Creating a new Spring Boot Project

  • ایجاد کلاس کنترلر Creating Controller class

  • ایجاد کلاس کنترلر Creating Controller class

  • بازگشت لیست آلبوم ها Returning list of albums

  • نمایش آلبوم ها در صفحه HTML Displaying Albums in HTML Page

  • افزودن وابستگی به مشتری OAuth2 Adding OAuth2 Client Dependency

  • پیکربندی ویژگی های مشتری OAuth2 Configuring OAuth2 Client properties

  • پیکربندی ویژگی های ارائه دهنده OAuth2 Configuring OAuth2 Provider properties

  • پیکربندی ویژگی های ارائه دهنده OAuth2 Configuring OAuth2 Provider properties

  • خواندن شناسه رمز Reading ID Token

  • خواندن نشانه دسترسی JWT Reading JWT Access Token

  • درخواست HTTP به یک سرور منبع داخلی HTTP Request to an Internal Resource Server

  • درخواست HTTP به یک سرور منبع داخلی HTTP Request to an Internal Resource Server

  • امتحان کردن چگونه کار می کند Trying how it works

  • رویکردی متفاوت برای افزودن نشانه دسترسی A different approach to adding access token

  • رویکردی متفاوت برای افزودن نشانه دسترسی A different approach to adding access token

  • افزودن وابستگی وب کلاینت Adding WebClient Dependency

  • ایجاد یک WebClient Bean Creating a WebClient Bean

  • ایجاد یک WebClient Bean Creating a WebClient Bean

  • استفاده از WebClient در کلاس Controller Using WebClient in a Controller class

  • استفاده از WebClient در کلاس Controller Using WebClient in a Controller class

  • امتحان کردن چگونه کار می کند Trying how it works

OAuth 2.0 در برنامه وب MVC OAuth 2.0 in MVC Web App

  • OAuth 2.0 در برنامه وب MVC - مقدمه OAuth 2.0 in MVC Web App - Introduction

  • کد منبع Source code

  • بازگشت لیست آلبوم ها Returning list of albums

  • نمایش آلبوم ها در صفحه HTML Displaying Albums in HTML Page

  • افزودن وابستگی به مشتری OAuth2 Adding OAuth2 Client Dependency

  • پیکربندی ویژگی های مشتری OAuth2 Configuring OAuth2 Client properties

  • خواندن شناسه رمز Reading ID Token

  • خواندن نشانه دسترسی JWT Reading JWT Access Token

  • امتحان کردن چگونه کار می کند Trying how it works

  • افزودن وابستگی وب کلاینت Adding WebClient Dependency

  • امتحان کردن چگونه کار می کند Trying how it works

OAuth 2 - ورود به سیستم اجتماعی OAuth 2 - Social Login

  • معرفی Introduction

  • کد منبع Source code

  • ایجاد یک پروژه جدید Creating a new project

  • کلاس Protected Resource Controller Protected Resource Controller class

  • صفحه HTML منبع محافظت شده Protected Resource HTML Page

  • ایجاد صفحه عمومی Creating public page

  • امنیت HTTP را پیکربندی کنید Configure HTTP Security

  • تنظیمات مشتری و ارائه دهنده OAuth 2 OAuth 2 Client and Provider configurations

  • فیس بوک: شناسه مشتری و راز مشتری Facebook: Client Id and Client Secret

  • فیس بوک: شناسه مشتری و راز مشتری Facebook: Client Id and Client Secret

  • تلاش برای نحوه عملکرد ورود به فیس بوک Trying how Facebook login works

  • Google Client ID و Client Secret Google Client Id and Client Secret

  • تلاش برای نحوه عملکرد ورود به سیستم Google Trying how Google sign-in works

  • یک برنامه جدید Okta را ثبت کنید Register a new Okta app

  • ویژگی های Okta را پیکربندی کنید Configure Okta properties

  • ویژگی های Okta را پیکربندی کنید Configure Okta properties

  • نحوه عملکرد ورود به سیستم با Okta را امتحان کنید Trying how sign-in with Okta works

  • نحوه عملکرد ورود به سیستم با Okta را امتحان کنید Trying how sign-in with Okta works

  • پیکربندی عملکرد خروج Configure logout functionality

  • پیوند خروج را پیکربندی کنید Configure the Logout link

  • پیوند خروج را پیکربندی کنید Configure the Logout link

  • تلاش برای نحوه عملکرد پیوند خروج Trying how logout link works

  • تلاش برای نحوه عملکرد پیوند خروج Trying how logout link works

  • OpenID Connect End Session Endpoint OpenID Connect End Session Endpoint

  • OpenID Connect End Session Endpoint OpenID Connect End Session Endpoint

  • پیاده سازی OidcClientInitiatedLogoutSuccessHandler Implementing OidcClientInitiatedLogoutSuccessHandler

  • پیاده سازی OidcClientInitiatedLogoutSuccessHandler Implementing OidcClientInitiatedLogoutSuccessHandler

  • امتحان کردن نحوه عملکرد خروج از Okta Trying how Logout from Okta works

OAuth 2 - ورود به سیستم اجتماعی OAuth 2 - Social Login

  • معرفی Introduction

  • کد منبع Source code

  • کلاس Protected Resource Controller Protected Resource Controller class

  • صفحه HTML منبع محافظت شده Protected Resource HTML Page

  • ایجاد صفحه عمومی Creating public page

  • امنیت HTTP را پیکربندی کنید Configure HTTP Security

  • تنظیمات مشتری و ارائه دهنده OAuth 2 OAuth 2 Client and Provider configurations

  • تلاش برای نحوه عملکرد ورود به فیس بوک Trying how Facebook login works

  • Google Client ID و Client Secret Google Client Id and Client Secret

  • تلاش برای نحوه عملکرد ورود به سیستم Google Trying how Google sign-in works

  • یک برنامه جدید Okta را ثبت کنید Register a new Okta app

  • پیکربندی عملکرد خروج Configure logout functionality

  • امتحان کردن نحوه عملکرد خروج از Okta Trying how Logout from Okta works

OAuth2 + PKCE در برنامه جاوا اسکریپت OAuth2 + PKCE in JavaScript Application

  • معرفی Introduction

  • ایجاد یک کلاینت عمومی جدید در Keycloak Creating a new Public client in Keycloak

  • ایجاد یک برنامه کلاینت Spring Boot جدید Creating a new Spring Boot client application

  • ایجاد Index.html Creating Index.html

  • ایجاد Index.html Creating Index.html

  • jQuery را وارد کنید Import jQuery

  • jQuery را وارد کنید Import jQuery

  • ایجاد مقدار حالت تصادفی Generating Random State value

  • ایجاد مقدار تأییدکننده کد Generating Code Verifier value

  • ایجاد مقدار تأییدکننده کد Generating Code Verifier value

  • ایجاد ارزش چالش کد Generating Code Challenge value

  • ایجاد ارزش چالش کد Generating Code Challenge value

  • درخواست کد مجوز پیشرفته PKCE Requesting PKCE-Enhanced Authorization Code

  • ایجاد صفحه HTML Auth Code Reader Creating Auth Code Reader HTML Page

  • خواندن کد مجوز از Redirect URI Reading authorization code from the Redirect URI

  • در حال اعتبارسنجی پارامتر درخواست "وضعیت". Validating "state" request parameter

  • کد تبادل برای توکن دسترسی Exchange Code for Access Token

  • کد تبادل برای توکن دسترسی Exchange Code for Access Token

  • یافتن Refresh Token و ID Token Finding Refresh Token and ID Token

  • یافتن Refresh Token و ID Token Finding Refresh Token and ID Token

  • ارسال درخواست به سرور منبع Sending Request to Resource Server

  • ارسال درخواست به سرور منبع Sending Request to Resource Server

  • دسترسی CORS را در دروازه API پیکربندی کنید Configure CORS Access on API Gateway

  • CORS را در سرور منبع پیکربندی کنید Configure CORS in Resource Server

OAuth2 + PKCE در برنامه جاوا اسکریپت OAuth2 + PKCE in JavaScript Application

  • معرفی Introduction

  • ایجاد یک کلاینت عمومی جدید در Keycloak Creating a new Public client in Keycloak

  • ایجاد یک برنامه کلاینت Spring Boot جدید Creating a new Spring Boot client application

  • ایجاد مقدار حالت تصادفی Generating Random State value

  • درخواست کد مجوز پیشرفته PKCE Requesting PKCE-Enhanced Authorization Code

  • ایجاد صفحه HTML Auth Code Reader Creating Auth Code Reader HTML Page

  • خواندن کد مجوز از Redirect URI Reading authorization code from the Redirect URI

  • در حال اعتبارسنجی پارامتر درخواست "وضعیت". Validating "state" request parameter

  • دسترسی CORS را در دروازه API پیکربندی کنید Configure CORS Access on API Gateway

  • CORS را در سرور منبع پیکربندی کنید Configure CORS in Resource Server

احراز هویت کاربر از راه دور Keycloak. SPI ذخیره سازی کاربر. Keycloak Remote User Authentication. User Storage SPI.

  • معرفی Introduction

  • ایجاد یک پروژه جدید Creating a new project

  • ایجاد کلاس RemoteUserStorageProvider Creating RemoteUserStorageProvider class

  • ایجاد کلاس RemoteUserStorageProviderFactory Creating RemoteUserStorageProviderFactory class

  • ایجاد کلاس RemoteUserStorageProviderFactory Creating RemoteUserStorageProviderFactory class

  • اضافه کردن Keycloak Core Dependency Adding Keycloak Core Dependency

  • بررسی اجمالی راه حل Solution overview

  • بررسی اجمالی راه حل Solution overview

  • مروری بر خدمات وب کاربران از راه دور Remote Users Webservice Overview

  • وابستگی مشتری HTTP RESTEasy RESTEasy HTTP Client Dependency

  • وابستگی مشتری HTTP RESTEasy RESTEasy HTTP Client Dependency

  • پیاده سازی سرویس Api کاربران Implementing Users Api Service

  • پیاده سازی سرویس Api کاربران Implementing Users Api Service

  • ایجاد کلاس کاربری Creating User Class

  • افزودن verifyUserPassword به UsersApiService Adding the verifyUserPassword to UsersApiService

  • ساخت کلاینت RESTEasy HTTP Building RESTEasy HTTP Client

  • ساخت کلاینت RESTEasy HTTP Building RESTEasy HTTP Client

  • پیاده سازی متد getUserByUsername() Implementing getUserByUsername() method

  • تایید رمز عبور کاربر Verifying User Password

  • بسته بندی UserStorageProvider Packaging UserStorageProvider

  • بسته بندی UserStorageProvider Packaging UserStorageProvider

  • استقرار User Storage SPI Deploying User Storage SPI

  • استقرار User Storage SPI Deploying User Storage SPI

  • امتحان کردن چگونه کار می کند Trying how it works

  • امتحان کردن چگونه کار می کند Trying how it works

احراز هویت کاربر از راه دور Keycloak. SPI ذخیره سازی کاربر. Keycloak Remote User Authentication. User Storage SPI.

  • معرفی Introduction

  • ایجاد یک پروژه جدید Creating a new project

  • ایجاد کلاس RemoteUserStorageProvider Creating RemoteUserStorageProvider class

  • اضافه کردن Keycloak Core Dependency Adding Keycloak Core Dependency

  • بررسی اجمالی راه حل Solution overview

  • مروری بر خدمات وب کاربران از راه دور Remote Users Webservice Overview

  • ایجاد کلاس کاربری Creating User Class

  • افزودن verifyUserPassword به UsersApiService Adding the verifyUserPassword to UsersApiService

  • پیاده سازی متد getUserByUsername() Implementing getUserByUsername() method

  • تایید رمز عبور کاربر Verifying User Password

  • امتحان کردن چگونه کار می کند Trying how it works

سرور مجوز جدید بهار The New Spring Authorization Server

  • معرفی Introduction

  • کد منبع Source code

  • ایجاد یک پروژه جدید Creating a new project

  • ایجاد یک پروژه جدید Creating a new project

  • یک مشتری OAuth ثبت کنید Register an OAuth Client

  • پیکربندی سرور مجوز Configure Authorization Server

  • پیکربندی سرور مجوز Configure Authorization Server

  • پیکربندی امنیتی بهار Spring Security Configuration

  • پیکربندی امنیتی بهار Spring Security Configuration

  • درخواست کد مجوز A request for Authorization Code

  • درخواست کد مجوز A request for Authorization Code

  • کد مجوز تبادل برای رمز دسترسی JWT Exchange Authorization Code for JWT Access Token

  • کد مجوز تبادل برای رمز دسترسی JWT Exchange Authorization Code for JWT Access Token

سرور مجوز جدید بهار The New Spring Authorization Server

  • معرفی Introduction

  • کد منبع Source code

  • ایجاد یک پروژه جدید Creating a new project

  • یک مشتری OAuth ثبت کنید Register an OAuth Client

سرور منبع برای سرور مجوز Spring Resource Server for Spring Authorization Server

  • ایجاد و پیکربندی سرور منبع Creating and Configure Resource Server

  • Resource Server API Endpoint Resource Server API Endpoint

  • نقاط پایانی API محافظت شده را مصرف کنید Consume protected API Endpoints

  • نقاط پایانی API محافظت شده را مصرف کنید Consume protected API Endpoints

  • ایجاد درخواست بدون تابعیت Making Request Stateless

  • ایجاد درخواست بدون تابعیت Making Request Stateless

سرور منبع برای سرور مجوز Spring Resource Server for Spring Authorization Server

  • ایجاد و پیکربندی سرور منبع Creating and Configure Resource Server

  • Resource Server API Endpoint Resource Server API Endpoint

برنامه مشتری OAuth برای سرور جدید مجوز Spring OAuth Client App for New Spring Authorization Server

  • معرفی Introduction

  • معرفی Introduction

  • بررسی اجمالی پروژه Project Overview

  • بررسی اجمالی پروژه Project Overview

  • پیکربندی مرتبط با مشتری OAuth2 OAuth2 Client-related configuration

  • پیکربندی مرتبط با مشتری OAuth2 OAuth2 Client-related configuration

  • خواندن توکن JWT Access Reading the JWT Access Token

  • ارسال درخواست HTTP Sending HTTP Request

  • ارسال درخواست HTTP Sending HTTP Request

  • امتحان کردن چگونه کار می کند Trying how it works

برنامه مشتری OAuth برای سرور جدید مجوز Spring OAuth Client App for New Spring Authorization Server

  • معرفی Introduction

  • خواندن توکن JWT Access Reading the JWT Access Token

  • امتحان کردن چگونه کار می کند Trying how it works

بعدش چی؟ What's next?

  • جایزه Bonus

بعدش چی؟ What's next?

  • جایزه Bonus

نمایش نظرات

نظری ارسال نشده است.

آموزش OAuth 2.0 در Spring Boot Applications
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
11 hours
188
Udemy (یودمی) udemy-small
04 اسفند 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
19,154
4.5 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sergey Kargopolov Sergey Kargopolov

توسعه دهنده نرم افزار

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.