การลงชื่อเข้าใช้ด้วย Passkey
การลงชื่อเข้าใช้ด้วย passkey ช่วยให้ผู้ใช้สามารถยืนยันตัวตน (การยืนยันตัวตน) ด้วย WebAuthn credential ได้โดยตรงระหว่างการลงชื่อเข้าใช้ โดยไม่ต้องกรอกรหัสผ่านหรือรหัสยืนยันก่อน ใน Logto credential ที่ใช้สำหรับการลงชื่อเข้าใช้ด้วย passkey คือโมเดล WebAuthn credential เดียวกับที่ใช้ใน MFA ดังนั้นประสบการณ์การลงชื่อเข้าใช้และ MFA จึงเชื่อมโยงกันอย่างใกล้ชิด
เอกสารนี้อธิบายวิธีการทำงานของการลงชื่อเข้าใช้ด้วย passkey ในประสบการณ์การลงชื่อเข้าใช้ที่มีในตัวของ Logto, เส้นทางการเข้าใช้งานที่แตกต่างกันสำหรับผู้ใช้ปลายทาง และการทำงานร่วมกับ MFA
วิธีการทำงานของการลงชื่อเข้าใช้ด้วย passkey
ในการใช้การลงชื่อเข้าใช้ด้วย passkey คุณต้องเปิดใช้งานใน การตั้งค่าประสบการณ์การลงชื่อเข้าใช้ ก่อน หลังจากเปิดใช้งานแล้ว Logto สามารถนำเสนอการลงชื่อเข้าใช้ด้วย passkey ได้สูงสุดสามวิธีในหน้าลงชื่อเข้าใช้:
- ปุ่ม
ดำเนินการต่อด้วย passkeyโดยเฉพาะบนหน้าลงชื่อเข้าใช้หน้าจอแรก - กระบวนการแบบระบุ identifier ก่อน (identifier-first) ที่จะพยายาม
ยืนยันผ่าน passkeyหลังจากผู้ใช้กรอกอีเมล หมายเลขโทรศัพท์ หรือชื่อผู้ใช้ - การเติมอัตโนมัติของเบราว์เซอร์บนช่องกรอก identifier เพื่อให้เบราว์เซอร์แนะนำ passkey ที่มีอยู่จากอุปกรณ์ปัจจุบันโดยตรง
ในภาพรวม ประสบการณ์จะเป็นดังนี้:
สามเส้นทางการลงชื่อเข้าใช้ด้วย passkey
1. เปิดใช้งานปุ่ม "ดำเนินการต่อด้วย passkey"
เมื่อเปิดใช้งานตัวเลือก แสดงปุ่ม "ดำเนินการต่อด้วย passkey" หน้าลงชื่อเข้าใช้จะแสดงปุ่ม ดำเนินการต่อด้วย passkey ที่ด้านล่างของหน้าจอแรก
ขั้นตอนของผู้ใช้คือ:
- เปิดหน้าลงชื่อเข้าใช้
- คลิก
ดำเนินการต่อด้วย passkey - เลือก passkey จากเบราว์เซอร์หรือระบบปฏิบัติการ
- ทำการยืนยันด้วยไบโอเมตริก, PIN หรือ hardware key
- ลงชื่อเข้าใช้สำเร็จ
นี่เป็นเส้นทางที่ตรงที่สุด เหมาะสำหรับผู้ใช้ที่ทราบอยู่แล้วว่าตนมี passkey ที่บันทึกไว้และต้องการประสบการณ์การเข้าสู่ระบบแบบขั้นตอนเดียว
2. ปิดใช้งานปุ่ม "ดำเนินการต่อด้วย passkey"
เมื่อปิดใช้งานตัวเลือก แสดงปุ่ม "ดำเนินการต่อด้วย passkey" Logto จะเปลี่ยนไปใช้ประสบการณ์แบบระบุ identifier ก่อนในหน้าจอแรก โดยหน้าจะขอเพียง identifier ของผู้ใช้ก่อน
หลังจากผู้ใช้ส่ง identifier:
- Logto ตรวจสอบว่ามีการเปิดใช้งานการลงชื่อเข้าใช้ด้วย passkey และผู้ใช้ที่ระบุมี passkey ที่ใช้งานได้หรือไม่
- หากมี passkey Logto จะเริ่มกระบวนการ "ยืนยันผ่าน passkey" ก่อน
- ผู้ใช้สามารถยืนยัน passkey และลงชื่อเข้าใช้ได้ทันที
- หากไม่มี passkey หรือผู้ใช้ต้องการวิธีอื่น Logto จะย้อนกลับไปใช้วิธีการยืนยันอื่นที่ตั้งค่าไว้
วิธีการสำรองที่มีขึ้นอยู่กับการตั้งค่าประสบการณ์การลงชื่อเข้าใช้ของ tenant ปัจจุบัน เช่น ผู้ใช้อาจเปลี่ยนไปใช้รหัสผ่าน, รหัสยืนยันทางอีเมล หรือรหัสยืนยันทางโทรศัพท์ ขึ้นอยู่กับว่ามีการเปิดใช้งานปัจจัยใดสำหรับ identifier นั้น
3. อนุญาตการแจ้งเตือนและเติมอัตโนมัติ
เมื่อเปิดใช้งานตัวเลือก อนุญาตการแจ้งเตือนและเติมอัตโนมัติ เบราว์เซอร์ที่รองรับสามารถแสดง passkey ที่บันทึกไว้โดยตรงจากช่องกรอก identifier
ขั้นตอนของผู้ใช้คือ:
- โฟกัสช่องกรอก identifier บนหน้าลงชื่อเข้าใช้
- เบราว์เซอร์แนะนำ passkey ที่บันทึกไว้สำหรับ origin ปัจจุบัน
- ผู้ใช้เลือก passkey จากรายการเติมอัตโนมัติ
- เบราว์เซอร์ขอให้ผู้ใช้ยืนยันด้วยไบโอเมตริก, PIN หรือ hardware key
- ลงชื่อเข้าใช้สำเร็จ
เส้นทางนี้เหมาะอย่างยิ่งบนอุปกรณ์ที่ passkey ถูกซิงค์ไว้กับแพลตฟอร์มอยู่แล้ว เพราะผู้ใช้สามารถลงชื่อเข้าใช้ได้โดยไม่ต้องเปลี่ยนหน้า หรือกดปุ่ม passkey โดยเฉพาะ
กระบวนการสมัครสมาชิกและการผูก passkey
การลงชื่อเข้าใช้ด้วย passkey ไม่ใช่แค่จุดเริ่มต้นของการลงชื่อเข้าใช้เท่านั้น แต่ยังมีผลต่อสิ่งที่เกิดขึ้นหลังจากการสมัครสมาชิกด้วย เพราะ WebAuthn credential เดียวกันนี้สามารถนำกลับมาใช้ใหม่ได้ทั้งสำหรับการลงชื่อเข้าใช้และ MFA
หลังจากผู้ใช้ทำขั้นตอนสมัครสมาชิกปกติครบถ้วน Logto สามารถแจ้งให้ผู้ใช้สร้าง passkey ได้ คำขอนี้เป็นตัวเลือกสำหรับผู้ใช้ แต่เมื่อสร้าง passkey แล้ว ขั้นตอนถัดไปขึ้นอยู่กับนโยบาย MFA ของ tenant และสถานะ MFA ของผู้ใช้เอง
ตรรกะหลักคือ:
ความสัมพันธ์ระหว่างการลงชื่อเข้าใช้ด้วย passkey และ MFA
การลงชื่อเข้าใช้ด้วย passkey จะข้ามการยืนยัน MFA โดยอัตโนมัติ
passkey ที่ใช้สำหรับการลงชื่อเข้าใช้ด้วย passkey รองรับโดย WebAuthn credential และ credential นั้นก็ถือเป็น WebAuthn MFA factor ด้วย ดังนั้นการลงชื่อเข้าใช้ด้วย passkey และ WebAuthn MFA จึงเทียบเท่ากันในมุม credential
ซึ่งนำไปสู่พฤติกรรมสำคัญสองข้อ:
- หากผู้ใช้ลงชื่อเข้าใช้ด้วย passkey, Logto จะข้ามขั้นตอนการยืนยัน MFA แยกต่างหาก
- หากผู้ใช้เคยผูก WebAuthn เป็น MFA factor ไว้ก่อนเปิดใช้งาน passkey sign-in credential เดิมนั้นสามารถนำมาใช้เป็น credential สำหรับ passkey sign-in ได้โดยไม่ต้องผูกใหม่
กล่าวอีกนัยหนึ่ง การลงชื่อเข้าใช้ด้วย passkey ที่สำเร็จแล้วถือว่าได้ผ่านการยืนยันตัวตนตาม WebAuthn ที่ปกติจะต้องใช้ใน MFA
การผูก passkey ไม่ได้บังคับเปิด MFA อัตโนมัติสำหรับ tenant ที่ผู้ใช้ควบคุมเอง
สำหรับผู้ใช้ใน tenant ที่ไม่ได้บังคับใช้ MFA การผูก passkey ระหว่างสมัครสมาชิกหรือระหว่างตั้งค่าบัญชีจะไม่เปิด MFA ให้บัญชีโดยอัตโนมัติ
หลังจากสร้าง passkey แล้ว Logto จะแสดงหน้ายืนยันชื่อ "เปิดใช้งานการยืนยัน 2 ขั้นตอน"
ในหน้านั้นผู้ใช้สามารถ:
- คลิกปุ่ม "เปิดใช้งานการยืนยัน 2 ขั้นตอน" เพื่อเปิด MFA อย่างชัดเจนและดำเนินการผูกปัจจัยถัดไป
- ข้ามคำแนะนำและจบกระบวนการปัจจุบันโดยไม่เปิด MFA
หากผู้ใช้เลือกเปิด MFA, Logto จะดำเนินการตามกระบวนการตั้งค่า MFA ปกติ และอาจขอให้ผู้ใช้ผูกปัจจัยเพิ่มเติม ขึ้นอยู่กับการตั้งค่า MFA ของ tenant เช่น หากมีการเปิดใช้งานปัจจัย MFA อื่น Logto สามารถดำเนินการผูกปัจจัยหรือรหัสสำรองเพิ่มเติมได้
จะเกิดอะไรขึ้นเมื่อปิดใช้งานการลงชื่อเข้าใช้ด้วย passkey ในภายหลัง
หากปิดใช้งานการลงชื่อเข้าใช้ด้วย passkey ในภายหลัง passkey ที่ผูกไว้ก่อนหน้านี้ยังคงเป็น WebAuthn credential อยู่ นั่นหมายความว่ายังสามารถใช้เป็น MFA factor ได้ตราบใดที่ WebAuthn MFA ยังเปิดใช้งานสำหรับ tenant
การปิดใช้งาน passkey sign-in จะลบ passkey ออกจากจุดเริ่มต้นการลงชื่อเข้าใช้โดยตรง แต่จะไม่ทำให้ WebAuthn MFA credential ที่อยู่เบื้องหลังเป็นโมฆะ
ข้อจำกัดและความเข้ากันได้
- การลงชื่อเข้าใช้ด้วย passkey ไม่สามารถใช้ได้กับผู้ใช้ Enterprise SSO
- การลงชื่อเข้าใช้ด้วย passkey ขึ้นอยู่กับการรองรับ WebAuthn ของเบราว์เซอร์และแพลตฟอร์ม
- "อนุญาตการแจ้งเตือนและเติมอัตโนมัติ" ใช้ได้เฉพาะในเบราว์เซอร์และสภาพแวดล้อมที่รองรับ passkey autofill / conditional UI เท่านั้น
- passkey จะผูกกับ origin เท่านั้น passkey ที่ลงทะเบียนกับโดเมนหนึ่งไม่สามารถใช้กับอีกโดเมนได้
คำถาม & คำตอบ
การลงชื่อเข้าใช้ด้วย passkey ยังต้องยืนยัน MFA หรือไม่?
ไม่ การลงชื่อเข้าใช้ด้วย passkey ที่สำเร็จแล้วถือว่าได้ผ่านข้อกำหนดการยืนยันตาม WebAuthn แล้ว Logto จึงข้ามขั้นตอนการยืนยัน MFA แยกต่างหาก
passkey ที่ผูกไว้สำหรับการลงชื่อเข้าใช้ด้วย passkey ยังสามารถใช้เป็น MFA factor หลังจากปิด passkey sign-in ได้หรือไม่?
ได้ การลงชื่อเข้าใช้ด้วย passkey และ WebAuthn MFA ใช้ credential โมเดลเดียวกัน หากปิด passkey sign-in ในภายหลัง passkey ที่ผูกไว้ยังสามารถใช้เป็น WebAuthn MFA factor ได้
ผู้ใช้ Enterprise SSO สามารถใช้การลงชื่อเข้าใช้ด้วย passkey ได้หรือไม่?
ไม่ได้ ผู้ใช้ Enterprise SSO ไม่สามารถใช้การลงชื่อเข้าใช้ด้วย passkey ได้
การลงชื่อเข้าใช้ด้วย passkey ยังต้องใช้ CAPTCHA หรือไม่?
ไม่ การลงชื่อเข้าใช้ด้วย passkey ไม่ต้องมีขั้นตอน CAPTCHA เพิ่มเติม CAPTCHA อาจยังใช้กับการลงชื่อเข้าใช้วิธีอื่นในหน้า เช่น การส่งรหัสผ่านหรือรหัสยืนยัน แต่ไม่ใช้กับกระบวนการยืนยัน passkey โดยตรง