دوره
OAuth & OpenID Connect
به همراه پیاده سازی با
IdentityServer4
مدرس
هادی احمدی
دسته بندی
Identity Management
مدت دوره
40 ساعت
جلسات دوره
20 جلسه 2 ساعته
نحوه برگزاری
آنلاین
تاریخ شروع
17 مرداد 1400
هزینه دوره
2.500.000 تومان
ثبت نام
سرفصل
ابزارها و تکنولوژی ها
پیش نیازها
بررسی
OAuth 2.0
بر پایه
RFC-6749
معرفی
OAuth 2.0
تعریف نقش ها در
OAuth 2.0
Resource Owner
Authorization Server
Resource Server
Client
آشنایی با انواع
Client
ها
Confidential
Public
بررسی
Authorization Grant
های مختلف در
OAuth 2.0
Authorization Code
Implicit
Resource Owner Password Credential
Client Credentials
Device Flow (
RFC-8628
)
بررسی
Endpoint
های مختلف در
OAuth 2.0
Authorization endpoint
Token endpoint
Redirection endpoint
Revocation (
RFC-7009
)
Introspection (
RFC-7662
)
بررسی
OAuth 2.1
بر پایه
آخرین
Draft
نوشته شده توسط
IETF
بررسی تغییرات مهم در
OAuth 2.1
تغییرات در
Authorization Code Grant
و اجبار
PKCE
Redirect URI String Matching
بررسی
Grant Flow
های حذف شده و دلایل آن
تغییرات در حوزه استفاده از
Refresh Token
ها
محدودیت استفاده از
Query String
برای
Bearer Token
معرفی نوع جدید
Client
با نام
Credentialed
ها
ابطال
Token
بر پایه
RFC-7009
معرفی بحث
Token Revocation
و کاربردهای آن
بررسی
Endpoint
،
Request
و
Response
برای ابطال
Token
بررسی موضوع
CORS
در
Token Revocation
بررسی ملاحظات امنیتی
بررسی
PKCE
بر پایه
RFC-7636
معرفی
PKCE
و کاربرد آن
مفاهیم و واژه شناسی
Code Verifier
Code Challenge
Code Challenge Method
بررسی
Flow
و نحوه پیاده سازی
PKCE
ملاحظات امنیتی
ملاحظات امنیتی و تهدیدات در
OAuth 2.0
برپایه
RFC-6819
ملاحظات امنیتی عمومی در
OAuth
اطمینان از محرمانگی درخواست ها
مطلع سازی
Resource Owner
ها
تایید هویت
Identity Server
برای جلوگیری از
Spoofing
،
Proxying
و
Phishing
ملاحظات امنیتی در حوزه
Token
ها
اطمینان از محدودیت
Scope
ها در
Token
تعریف صریح
Scope
ها در
Token
استفاده از آدرس
Endpoint
به عنوان
Token Audience
اعمال زمان انقضای مناسب برای
Token
ها
محدودیت استفاده از
Token
ها و یا استفاده از
Token
های یکبار مصرف
محدودسازی
Token
ها برای یک
Resource Server
و یا یک
Client
خاص
Sign
و
Encrypt
کردن
Token
ها
استفاده از فرمت های استاندارد (مانند
SAML
یا
JWT
)
مبحث
Rotation
در
Refresh Token
ها (استفاده همزمان و موازی از یک
Refresh Token
)
مکانیزم ابطال
Refresh Token
تهدیدات رایج و راهکارهای آن در
OAuth
دزدیده شدن
Client Secret
,
Refresh Token
و
Access Token
ها و ...
حمله
Open Redirection
حمله
CSRF
در
Return URI
Clickjacking
انجام
Impersonation
(جعل هویت) برای
Resource Owner
ها
استفاده از
Client
های جعلی
Code Substitution
و
Token Substitution
لو رفتن
Token
در
Implicit Flow
(از روش های مختلف مثل تاریخچه مرورگر و ...)
نشت داده های محرمانه از طریق
Proxy
ها و یا
Log
های سیستم
بررسی چارچوب کلی
Assertion
در
OAuth 2.0
بر پایه
RFC-7521
تعریف مفهوم
Assertion
بررسی
Message Flow
و قوانین
معرفی
Profile
های موجود
SAML
(
RFC-7522
)
JWT
(
RFC-7523
)
بررسی انواع
Assertion
Bearer Assertions
Holder-of-Key Assertions
بررسی
Request & Response
در حالت های مختلف
Assertion Metamodel
بررسی سناریوهای رایج
Client Acting on Behalf of Itself
Client Acting on Behalf of a User
Client Acting on Behalf of an Anonymous User
ملاحظات امنیتی
بررسی
JWT
بر پایه
RFC-7519
آشنایی با
JWT
بررسی
Claim
های
JWT
Registered Claim Names
Public Claim Names
Private Claim Names
بررسی
JOSE Header
TYP (type)
CTY (Content-Type)
استفاده از
JWT
در
OAuth
بر پایه
RFC-7523
استفاده از
JWT
در سناریوهای متفاوت
Client Authentication
Authorization Grants
بررسی فرمت
JWT
و
Request & Response
ها برای پردازش
ملاحظات امنیتی
مبحث
Token Introspection
بر پایه
RFC-7662
تعریف مفهوم
Introspection
و کاربرد آن
بررسی
Request & Response
در فرآیند
Introspection
ملاحظات امنیتی
بررسی
AMR
در
JWT
بر پایه
RFC-8176
تعریف
AMR (Authentication Method Reference)
و کاربرد آن
بررسی مقادیر
AMR
(مانند
pwd, otp
و ... )
بررسی رابطه
AMR
و
ACR (Authentication Context Class)
ملاحظات امنیتی
استفاده از
OAuth
برای
Native App
ها بر پایه
RFC-8252
مفاهیم و واژه شناسی
App / Native App
Embedded & External User-Agent
In-app Browser Tab
Web View
Inter-app Communication
Claimed https scheme URI
Private-use URI scheme
Reverse domain name notation
بررسی رویکردهای متفاوت بسته به
User-Agent
Embedded user-agent
External user-agent
بررسی
Flow
و فرآیند
Request
و دریافت
Response
تهدیدات و ملاحظات امنیتی
محافظت از
Authorization Code
و استفاده از
PKCE
استفاده از
Implicit Flow
ملاحظات امنیتی هنگام استفاده از
Loopback Redirection
ملاحظات امنیتی در مورد
Client
ها
ملاحظات امنیتی در مورد
User-Agent
ها
بررسی حمله
CARF (Cross-App Request Forgery)
مبحث
Mutual-TLS
در
OAuth
بر پایه
RFC-8705
بررسی مفهوم و کاربرد
Mutual-TLS
کاربرد
Mutual-TLS
در
OAuth
Client Authentication
Certificate-Bound Access Tokens
روش های مختلف
Mutual-TLS Client Authentication
PKI Mutual-TLS
Self-Signed Certificate Mutual-TLS
بررسی مبحث
Certificate-Bound Access Tokens
JWT Certificate Thumbprint Confirmation
Confirmation Method for Token Introspection
Public Clients and Certificate-Bound Tokens
Certificate-Bound Refresh Tokens
ملاحظات امنیتی
بررسی
OpenID Connect
بر پایه
OpenID Connect Core Specification
مشکلات و محدودیت های استفاده از
OAuth
برای
Authentication
معرفی
OpenID Connect
معرفی مفاهیم و واژه شناسی
Authentication Request
Authentication Context
Claim / Essential Claim / Voluntary Claim
Hybrid Flow
ID Token
Identity
OpenID Provider (OP)
Pairwise Pseudonymous Identifier (PPID)
Personally Identifiable Information (PII)
Relying Party (RP)
Sector Identifier
Self-Issued OpenID Provider
Validation / Verification
تعریف نقش ها در
OpenID Connect
End User
OpenID Provider (OP)
Relying Party (RP)
بررسی انواع
Token
در
OpenID Connect
ID Token
بررسی
Flow
های مختلف در
OpenID Connect
Authorization Code Flow
Implicit Flow
Hybrid Flow
بررسی
Endpoint
های مختلف
OpenID Connect
UserInfo
CheckSession
EndSession
OpenId-Configuration
JWKs
بررسی
Claim
ها در
OpenID Connect
Standard Claims
Claim Types (Normal, Aggregated and Distributed Claims)
رمزنگاری و امضای
Token
ها
انواع
Serialization
در درخواست ها
Query String Serialization
Form Serialization
JSON Serialization
مبحث
Discovery
در
OpenID Connect
مفاهیم و واژه شناسی (
Host, Resource,
…)
بررسی
Metadata
مربوط به
Provider
نحوه دریافت
Provider Configuration
ملاحظات امنیتی در
OpenID Connect
Single Sign-On (SSO)
SSO
چیست و چه مشکلی را حل میکند؟
SSO
چگونه کار میکند؟
با چه پروتکل ها و ابزارهایی میتوان
SSO
را پیاده سازی کرد ؟
ابزار
IdentityServer4
بررسی ابزار
IdentityServer4
ساختار، قابلیت ها، مزایا، معایب و ابزارهای جایگزین
بررسی ساختار و اجزای
IdentityServer4
راه اندازی
ASP.NET Core Identity
برای
IdentityServer4
پیاده سازی
Flow
های متفاوت در
IdentityServer4
با
Client
ها متفاوت
Client Credentials Flow
Authorization Code Flow + PKCE
Implicit Flow
Resource Owner Password Credential (ROPC)
Hybrid Flow
کار با
Refresh Token
ها
Federated Sign-out
Front-Channel Spec
Back-Channel Spec
پیاده سازی مکانیزم
Token Validation
در
API
ها
JWT Token Validation
Reference Token Validation
اتصال
External Provider
ها (مانند گوگل و
ADFS
و ...) به
IdentityServer4
پیاده سازی
Pop (Proof-of-Possession)
با استفاده از مکانیزم
Mutual-TLS
ابزارها و تکنولوژی های مورد استفاده در طول دوره
C# - ASP.NET Core
IdentityServer4
ASP.NET Core Identity
Entity Framework Core
آشنایی کلی با
Authorization
و
Authentication
آشنایی کلی با مبحث
Claim-Based Identity
×
صفحه مورد نظر هنوز به قالب جدید انتقال نیافته است. برای مشاهده نسخه قدیم کلیک کنید.
مشاهده نسخه قدیمی