Phase 1: Basic — Foundations, Entities, Tokens & Stateless Integration
แผนผังหลักสูตร Phase 1 ฉบับปรับปรุงใหม่ที่จัดเรียงลำดับการเรียนรู้ตามหลัก First Principles & Progressive Mastery: เริ่มต้นจากการทำความเข้าใจความหมายและบทบาทของ "ตัวละครหลักในระบบ IAM" (Keycloak Engine, Realms, Users, Credentials, และ Clients) ไต่ระดับไปสู่ "บัตรผ่านและสิทธิ์การเข้าถึง" (RBAC Roles, Declarative User Profiles, JWT Token Anatomy, Mappers และ Session RTR) และปิดท้ายด้วย "การประกอบระบบเข้ากับ Backend จริง" (Stateless JWKS Signature Verification โดยไม่ต้องพึ่งพา Database ซ้ำซ้อน)
🏛️ The 3 Progressive Milestones of Phase 1
Logical Learning ProgressionWeek 1: Identity Foundations & Entities
ทำความเข้าใจว่า Keycloak คืออะไร (7 Core Subsystems), ติดตั้ง Decoupled Persistence ด้วย PostgreSQL, เข้าใจความแตกต่างระหว่าง Master Realm กับ Business Tenant, จัดการ Users/Credentials, และจำแนก Public vs Confidential Clients
Week 2: Governance, Tokens & Lifecycles
จัดวางโครงสร้างสิทธิ์ RBAC (Realm vs Client Roles, Composite Roles), จัดการ Groups, Declarative User Profiles, ผ่าชิ้นส่วน JWT ป้องกันปัญหา Token Bloat (HTTP 431), ปรับแต่ง Mappers และคุม Session Lifecycle ด้วย Refresh Token Rotation
Week 3: Backend Verification & Capstone
เชื่อมต่อโลกจริง: ดึง Public Keys จาก JWKS Endpoint (/certs) มาแคชในหน่วยความจำ, สร้าง Resource Server ตรวจสอบ Bearer Token, บังคับใช้ Scopes/Roles ใน API, จัดการ Single Logout (RFC 7009), และประกอบระบบ End-to-End
Identity Foundations & Basic Entities
เข้าใจนิยามของ Keycloak, กายวิภาคภายใน 7 Subsystems, การรัน Persistent Database, OIDC/PKCE, และการสร้าง Entities
Anatomy, Quarkus Runtime & First Realm
นิยาม Keycloak ในภาษามนุษย์ (Before vs After IAM), กายวิภาค 7 Core Subsystems, สถาปัตยกรรม Quarkus Runtime, Agroal Connection Pool, PostgreSQL Persistence, และ Master Isolation
Demystifying OAuth 2.0 vs OIDC & PKCE
เปรียบเทียบ Authorization vs Authentication, กลไก Front vs Back-channel, การคำนวณ code_verifier และ S256 challenge, State ป้องกัน CSRF, Nonce ป้องกัน Replay
Realms, Users, Credentials & Storage Boundaries
ทำความเข้าใจความหมายของ Realm (Tenant Boundary), โครงสร้างตาราง USER_ENTITY และ USER_ATTRIBUTE, กลไก Password Hashing (PBKDF2/Argon2) และการจัดการ Credentials ผ่าน Admin Console
Clients Anatomy: Public vs Confidential Clients
Client ใน Keycloak คืออะไร, ความแตกต่างระหว่าง Public (SPA/Mobile) vs Confidential (Backend), กฎความปลอดภัย Valid Redirect URIs (ห้ามใช้ Wildcard), Web Origins (CORS), และ Post-logout URIs
Service-to-Service Security & Client Credentials Grant
การเชื่อมต่อระหว่าง Microservices/Background Daemon (RFC 6749 Sec 4.4), Service Accounts ใน Keycloak, การจำกัดสิทธิ์แบบ Least Privilege, และวงจร Zero-Downtime Secret Rotation
Entity Modeling Audit & CLI Handshake Suite
รวบรวมองค์ประกอบในสัปดาห์ที่ 1: ตรวจสอบความถูกต้องของ Realm, Users, Credentials, Public SPA Client, และ Confidential Client พร้อมสร้าง Bash Automated Test Suite ทดสอบ Handshake
Roles, Claims & Token Architecture
การจัดสถาปัตยกรรมสิทธิ์ (RBAC), Declarative User Profiles, โครงสร้าง JWT, Protocol Mappers, และ Session Lifecycles
Authorization Basics: Realm Roles vs Client Roles
บทบาทและหน้าที่ของ Role ในระบบ IAM, ขอบเขตความแตกต่างระหว่าง Realm Roles (สิทธิ์กว้าง) vs Client Roles (สิทธิ์เจาะจง Service), และการจัดกลุ่ม Composite Roles มัดรวมสิทธิ์
Groups & Declarative User Profile Management
การบริหารจัดการ Groups (การสืบทอดสิทธิ์ลำดับขั้น), การเปิดใช้ Declarative User Profile (UP), กำหนด Validation Rules (Regex, Required), และ Read-Only vs Admin-Only Fields
Deep-Dive JWT Anatomy & Token Bloat Defense
ผ่าชิ้นส่วน JSON Web Token (JOSE Header, Payload Claims, Signature), ปัญหาวิกฤต Token Bloat จากการเปิด Full Scope Allowed ที่ทำให้ Ingress เกิด HTTP 431, และหลัก Data Minimization
Protocol Mappers, Custom Claims & Scopes Strategy
การทำงานของ Protocol Mappers, การแทรก Audience Claim (aud) ป้องกัน Confused Deputy, การแยกปลายทางของ Claims (Access Token vs ID Token vs /userinfo), และ Type Casting
Session Lifecycles & Refresh Token Rotation (RTR)
SSO Session Idle Timeout vs SSO Session Max Lifespan, ปัญหา Zombie Sessions, กลไก Refresh Token Rotation (RTR), และการตรวจจับ Replay Attacks พร้อมคำสั่ง Cascade Revocation
Token Security & OWASP BCP Audit Lab
ตรวจสอบโครงสร้าง Tokens, Roles, Scopes และ Lifecycles ทั้งหมดเทียบกับ OWASP OAuth 2.0 Security BCP, จำลอง Replay Attack, และตรวจวัดขนาด Payload ของ Token
Backend Integration & Stateless Verification
การตรวจสอบความถูกต้องของ Token ผ่าน JWKS Endpoint, การสร้าง Resource Server API, การทำ Logout, และ Capstone Project
Public Key Cryptography & JWKS Endpoint (/certs)
เบื้องหลังการ Sign Token ของ Keycloak (Asymmetric RSA/EC), โครงสร้าง JSON Web Key Set (JWKS), การจับคู่ Key ID (kid), Active vs Passive Keys, และ Key Rotation
Building the Resource Server: Stateless Token Verification
การสร้าง Backend API ทำหน้าที่เป็น Resource Server: แคช Public Key ในหน่วยความจำ, ตรวจสอบ Signature, ตรวจสอบ Issuer (iss) และ Expiration (exp), ตอบสนอง 401 Unauthorized
Enforcing Scopes & Role-Based Access Control in API
การเขียนโค้ดสกัด Authorization Context จาก JWT: ตรวจสอบ Client Roles, ตรวจสอบ Scopes (เช่น read:orders), การป้องกัน 403 Forbidden และ Contextual Claims Validation
Logout Architectures & RFC 7009 Token Revocation
ความท้าทายในการ Logout ของระบบ Stateless JWT, มาตรฐาน RFC 7009 Token Revocation, ความแตกต่างของ Frontchannel vs Backchannel Logout, และการจัดการ Single Sign-Out
Phase 1 Capstone: Unified End-to-End IAM Architecture
ประกอบทุกส่วนเข้าด้วยกัน: Single Page App (PKCE) + Keycloak + PostgreSQL + Stateless Resource Server (ครบวงจร Login ➔ Issue Lean Token ➔ API Check ➔ Scope Enforce ➔ Single Logout)
Comprehensive 3-Week Assessment & Architecture Defense
การประเมินผลรวบยอดทั้ง 21 วัน ครอบคลุม Entities, Protocols, Token Mechanics, และ Backend Verification พร้อมตรวจสอบความพร้อมก่อนก้าวสู่ Phase 2 (Enterprise Federation & Flows)
📋 Phase 1 Technical Standards & RFC Blueprint
มาตรฐานทางวิศวกรรมสากลที่นำมาใช้เป็นเกณฑ์กำหนดเนื้อหาใน Phase 1
Explore the Grand 16-Week Multi-Phase Roadmap
ดูผังรวมระดับองค์กรทั้ง Phase 1 (Basic), Phase 2 (Enterprise Federation), และ Phase 3 (Java SPIs & K8s HA)