การรักษาความปลอดภัยของแอป
สองส่วน หนึ่งโมเดลความปลอดภัย
หัวข้อที่มีชื่อว่า “สองส่วน หนึ่งโมเดลความปลอดภัย”การผสาน Keycloak เข้ากับแอปพลิเคชันไม่ใช่งานชิ้นเดียว — แต่เป็นหน้าที่สองส่วนที่ต่างกัน และต้องทำให้ถูกต้องทั้งคู่
Frontend (SPA บน browser, แอปมือถือ, หรือ public client ใดก็ตาม) รับผิดชอบประสบการณ์การ login โดย redirect ผู้ใช้ไปยัง Keycloak รับ authorization code กลับมา แลก token มาเก็บไว้ในหน่วยความจำ และนำ access token ต่อท้าย API call ทุกครั้ง
Backend (REST API หรือ resource server) ไม่ได้คุยกับ Keycloak แทนผู้ใช้ระหว่างการรับ request แต่รับ access token จาก header Authorization แทน จากนั้น backend จะดึง public key จาก JWKS endpoint ของ Keycloak แล้วตรวจสอบ signature, issuer, audience และ expiry ของ token เมื่อผ่านการตรวจสอบทั้งหมดแล้ว backend จึงเชื่อ identity claims ที่อยู่ใน token
สิ่งที่โมดูลนี้ครอบคลุม
หัวข้อที่มีชื่อว่า “สิ่งที่โมดูลนี้ครอบคลุม”| บทเรียน | สิ่งที่จะได้เรียนรู้ |
|---|---|
| SPA Frontend | ติดตั้ง keycloak-js เริ่มต้นด้วย PKCE ต่อ token เข้า API call |
| Backend API | ดึง JWKS ตรวจสอบ JWT ใน Node/Express ปฏิเสธ token ที่ไม่ถูกต้อง |
| Refresh และ Logout | updateToken(), session lifetimes และ end-session endpoint |
| Framework Adapters | Spring Boot, Node และ pattern ทั่วไปของ OIDC resource server |
แต่ละบทเรียนสามารถอ่านได้อิสระ — เลือกอ่านบทที่ตรงกับ stack ที่ใช้งานได้เลย