จะเลือกผู้ให้บริการยืนยันตัวตนยังไง: กรอบการประเมินของทีมวิศวกรรม
กรอบการประเมิน IdP ที่ใช้งานได้จริง ถูกสร้างขึ้นจากความต้องการขององค์กรขนาดใหญ่จริง ๆ ครอบคลุมระดับลึกของโปรโตคอล การย้ายระบบ มัลติเทนซี การเตรียมพร้อมรับ AI และเกณฑ์ต่าง ๆ ที่รายการตรวจสอบส่วนใหญ่มองข้าม
บทความเปรียบเทียบผู้ให้บริการยืนยันตัวตน (IdP) ส่วนใหญ่มักเขียนโดยผู้ขาย IdP เอง น่าตกใจใช่ไหม? พวกเขาจะลิสต์แต่ฟีเจอร์ที่ตัวเองมี ข้ามสิ่งที่ไม่มี แล้วบอกว่านี่คือ "คู่มือแบบเป็นกลาง"
นี่ไม่ใช่แบบนั้น
เราได้รีวิวคำขอประเมินจากองค์กรจริงแบบนับสิบเจ้า — จากสเปรดชีตและเอกสาร RFP จริง ๆ ที่ฝ่ายจัดซื้อส่งให้ vendor แบบล้วน ๆ แล้ว Pattern จะชัดเจนมาก: ทีมว ิศวกรรมมักให้ค่าน้ำหนักกับเกณฑ์ผิดจุด — ให้ค่าสิ่งไม่สำคัญเกินไป และมองข้ามของจำเป็น
ผลลัพธ์ที่เกิดขึ้น? ทีมเลือก IdP เพราะเดโม ดูเหมือนจะเวิร์ค พอหกเดือนผ่านไปตอนย้ายระบบจริงกลายเป็นฝันร้าย แล้วก็ต้องกลับมาประเมินใหม่
นี่คือกรอบการประเมินที่เราอยากมีตั้งแต่แรกสำหรับทีมวิศวกรรมของบริษัท SaaS B2B — ทีมที่สร้างโปรดักต์ ไม่ใช่ทีมที่เลือก workforce SSO ให้พนักงานตัวเอง
สรุปสั้น: ปัจจัยชี้เป็นชี้ตาย IdP
ถ้าคุณกำลังไล่อ่านแบบเร็ว ๆ นี่คือเวอร์ชั่นกระชับ:
- ความลึกของโปรโตคอลสำคัญกว่าจำนวนฟีเจอร์ การบอกว่า "รองรับ OAuth2" ไม่มีความหมาย อันไหนรองรับ grant type อะไรบ้าง? ปรับแต่ง token claim ได้แค่ไหน? กลายเป็น OIDC provider ได้มั้ย?
- ศักยภาพการย้ายผู้ใช้เก่าคือเกณฑ์ที่ถูกประเมินต่ำสุด ถ้าย้ายผู้ใช้เก่าโดยไม่รีเซ็ตรหัสผ่านไม่ได้ IdP ตัวนั้นไม่มีประโยชน์ ไม่ว่าตรงอื่นจะดีแค่ไหน
- มัลติเทนซีต้อง native ไม่ใช่เอามาแปะ ถ้าโมเดลองค์กรหรือการตั้งค่าต่อ tenant ต้องใช้ลูกเล่น workaround คุณจะต้องสู้กับระบบนี้ตลอด
- AI-readiness ไม่ใช่วางแผนอนาคต — มันคือความต้องการ 12 เดือนนี้ Token exchange, agent identity, delegated scopes ถ้า IdP ขาดตรงนี้ คุณจะต้องรีวิวรอบใหม่ปีหน้า
คู่มือนี้จะแยกแต่ละมิติพร้อมตัวอย่างคำถามที่ควรถามและ Red Flag ที่ควรระวัง
ใครควรอ่าน (และใครไม่ควร)
ถ้านี่คือตัวคุณ:
- คุณเป็น CTO, VP of Engineering หรือ Platform Architect ของ B2B SaaS ขนาด 50-300 คน
- คุณ มีผู้ใช้ >100,000 ราย และย้ายระบบแบบเดือดร้อนไม่ได้
- คุณกำลังขยายสู่กลุ่ม Enterprise ที่ต้องการ SSO, org model, audit log
- คุณต้องเขียนรายงานประเมินทางเทคนิคและอยากได้กรอบที่ไม่ได้มาจาก vendor
ไม่ใช่สำหรับกรณีนี้:
- คุณกำลังหา IAM ภายในองค์กร (SSO ให้พนักงาน) — เป็นการตัดสินใจอีกแบบ
- เป็นสตาร์ทอัพผู้ใช้ 500 คน และยังไม่มีลูกค้าองค์กร — เอาอะไรก็ได้ที่ SDK ดีสุดพอ
- คุณต้องการ identity verification (KYC/KYB) — อยู่คนละหมวดเลย
มิติที่ 1: ศักยภาพโปรโตคอล — ไม่ใช่แค่ "รองรับ OAuth2"
ทุก IdP จะบอกว่ารองรับ OAuth2 กับ OIDC แต่นั่นเป็นแค่พื้นฐาน ของจริงต้องดูรายละเอียดลึก
Grant types: มีอะไรบ้างและทำไมต้องสนใจ
ต้องมี:
- Authorization Code + PKCE — Flow เดียวที่ควรใช้กับ Browser กับ Mobile ถ้า vendor ยังแนะนำ Implicit flow ให้เดินออก PKCE ต้องมี ไม่ใช่ตัวเลือก แต่เป็นความปลอดภัย
- Client Credentials — สำหรับ service-to-service พวก backend ต่าง ๆ ที่คุยกันเอง ไม่มี user login
- Refresh Token — ฟังดูพื้น ๆ แต่รายละเอียดต่างกันหนัก ปรับ rotation, expiration ได้มั้ย? Revoke refresh token จุดเดียวโดยไม่ kill ทุก session ได้หรือเปล่า?
เริ่มสำคัญขึ้นเรื่อย ๆ :
- Token Exchange (RFC 8693) — grant ที่ทำให้ AI agent, impersonation, delegation เป็นจริง ถ้าขาดวันนี้ ถาม roadmap ถ้าไม่มี roadmap คือแดงแรง ๆ
OIDC Provider capability
คำถามที่หลายทีมไม่เคยคิด: IdP นี้กลายเป็น OIDC Provider ให้คนอื่นใช้ login ได้มั้ย ไม่ใช่แค่กิน identity จากเจ้าอื่น?
ทำไมต้องแคร์: SaaS โตขึ้น คู่ค้าหรือพาร์ทเนอร์อาจอยากให้ระบบ identity ของคุณกลายเป็น SSO ให้ tool พวกเขาเอง คุณต้องออก token, มีระบบให้ app มากรอก consent, third-party app registration ถ้า IdP แค่ให้คุณ consume ภายนอกแต่ federate ออกข้างนอกไม่ได้ จะตันทันที
ถามว่า:
- เปิด endpoint OpenID Discovery แบบ white-label ได้หรือเปล่า?
- สมัคร first-party กับ third-party app พร้อม trust level ต่างกันได้มั้ย?
- First-party app ข้าม consent แต่ third-party บังคับได้มั้ย?
JWT customization
Token คือสัญญาระหว่าง IdP กับ service ถ้าปรับแต่งไม่ได้ downstream service ต้องยิง API ไปถาม role/permission เพิ่ม
ถามว่า:
- ใส่ custom claim ใน access/ID token ได้ไหม?
- ฝัง context ของ org/tenant ไว้ใน token เลยได้หรือเปล่า?
- กำหนด custom scope ที่แมพ permission model ตัวเองได้มั้ย?
- Claim ประมวลผลตอนออก token เลยหรือจะ populate ผ่าน webhook/script แบบ dynamic ได้?
Token ที่ใส่ { "org_id": "org_123", "role": "admin", "auth_level": 2 } ทำให้ API authorize ใน 1 บรรทัด Token เดิม ๆ { "sub": "user_456" } ทุก service ต้องยิง IdP / DB หาเพิ่ม ที่ scale จะต่างกัน 2ms vs 200ms ต่อ request
มิติที่ 2: Authentication flow — รายละเอียดที่อาจพังทั้งระบบ
ทุก IdP มี email/password & social login แปลว่าคุณยังไม่คัดใครออกเลย
แต่ของจริงอยู่ที่รายละเอียดเล็ก ๆ ที่ demo ไม่เคยโชว์
Signup flow
- Auto-login หลังสมัคร: sign up เสร็จเข้าใช้งานอัตโนมัติเลยหรือบังคับให้ login ใหม่? ถ้าต้อง login ซ้ำหลังสมัคร เสีย conversion หนักมาก อย่าเชื่อว่าทุก IdP ทำถูก
- Custom fields: สมัครแล้วเก็บ role, company name, use case ได้เลยมั้ย? หรือหยิบไป onboarding แยกอีกรอบ?
- Progressive profiling: ขอข้อมูลลูกค้าเพิ่มในหลาย session ได้ ไม่ใช่กรอกหมดทีเดียว?
Login flow
- login_hint support: user คลิกลิงก์ในอีเมล marketing ระบบ pre-fill อีเมลได้มั้ย? ดูเหมือนไม่จำเป็นแต่พลาดตรงนี้ conversion จากแคมเปญอีเมลหาย 20%
- Org-specific auth policies: Org A บังคับ SAML SSO, Org B ใช้ email/password, Enterprise tenant เท่านั้นที่บังคับ MFA ถ้านโยบายต่อ tenant ต้องแก้โค้ดแทน config คุณเสียเวลาทุกครั้ง onboarding
- Branding per tenant: เปลี่ยน UX login ของแต่ละ org ได้? ไม่ใช่แค่ logo+สี แต่ปรับ CSS, custom domain, white-label email ได้หมด "Hosted UI vs. custom UI" ต้องเป็นทางเลือกคุณ เลือกเอง ไม่ใช่ข้อจำกัด

