พาสคีย์ออกแบบมาเพื่อปฏิวัติประสบการณ์การลงชื่อเข้าใช้ โดยนำเสนอทางเลือกที่ง่าย รวดเร็ว และปลอดภัยกว่ารหัสผ่าน รายการตรวจสอบนี้จะแนะนำแง่มุมสำคัญในการใช้พาสคีย์เพื่อให้ได้ผลลัพธ์ประสบการณ์ของผู้ใช้ (UX) ที่ดีที่สุด
วิธีใช้เช็กลิสต์นี้
รายการตรวจสอบนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์และทีมผลิตภัณฑ์ที่ใช้พาสคีย์ในขั้นตอนการตรวจสอบสิทธิ์ โดยใช้เพื่อวัตถุประสงค์ต่อไปนี้
- ตรวจสอบว่าการใช้งานเป็นไปตามแนวทางปฏิบัติแนะนำด้าน UX ของพาสคีย์สมัยใหม่ตามที่อธิบายไว้ในบทความต่อไปนี้
- ระบุองค์ประกอบที่จำเป็นและองค์ประกอบที่ไม่บังคับซึ่งช่วยปรับปรุงความสามารถในการใช้งาน ความปลอดภัย และความสามารถในการทำงานร่วมกัน
- ตรวจสอบการใช้งานระหว่างการพัฒนาและก่อนการทําให้ใช้งานได้
- สอดคล้องกับแนวทางปฏิบัติแนะนำที่รองรับการใช้งานของผู้ใช้และการทํางานร่วมกันของระบบ
ซึ่งจะช่วยให้ผู้ใช้ปลายทางได้รับประสบการณ์การใช้งานที่ราบรื่นและปลอดภัย
การลงทะเบียนพาสคีย์
ความสามารถในการลงทะเบียนพาสคีย์ที่ซับซ้อนเป็นกุญแจสำคัญในการเปลี่ยนจากรหัสผ่านเป็นพาสคีย์ในเว็บไซต์ได้อย่างราบรื่น ทําตามวิธีการที่อธิบายไว้ในสร้างพาสคีย์สําหรับการเข้าสู่ระบบแบบไม่ต้องใช้รหัสผ่านเพื่อสร้างฟีเจอร์การลงทะเบียนพาสคีย์ในเว็บไซต์ ต่อไปนี้คือสิ่งที่คุณควรตรวจสอบนอกเหนือจากฟีเจอร์การลงทะเบียนพาสคีย์พื้นฐาน
✅ ระบุ "platform"
เป็นค่าไฟล์แนบของโปรแกรมตรวจสอบสิทธิ์ที่จะส่งไปยัง navigator.credentials.create()
เพื่อสร้างพาสคีย์ที่โปรโมต
- มอบขั้นตอนการสร้างพาสคีย์ที่เพิ่มประสิทธิภาพและราบรื่นสำหรับผู้ที่สร้างพาสคีย์แบบตอบสนอง
✅ ยืนยันผู้ใช้ด้วยวิธีการตรวจสอบสิทธิ์ที่ปลอดภัยที่สุดที่ผู้ใช้ใช้ได้ก่อนที่จะอนุญาตให้สร้างพาสคีย์
- ซึ่งสำคัญต่อการป้องกันการที่ผู้โจมตีจะสร้างพาสคีย์ในบัญชีที่ถูกลักลอบใช้งาน
✅ ป้องกันการสร้างพาสคีย์ที่ซ้ำกันสำหรับผู้ให้บริการพาสคีย์รายเดียวกันโดยใช้ excludeCredentials
- ผู้ให้บริการพาสคีย์จำนวนมากรองรับพาสคีย์เพียงรายการเดียวต่อบัญชีและ RPID หลีกเลี่ยงการสร้างรายการที่ซ้ำกัน
✅ ใช้ AAGUID เพื่อระบุผู้ให้บริการพาสคีย์ และตั้งชื่อข้อมูลเข้าสู่ระบบสำหรับผู้ใช้
- การเชื่อมโยงพาสคีย์กับผู้ให้บริการพาสคีย์เป็นวิธีที่ใช้งานง่ายในการนำเสนอข้อมูลเข้าสู่ระบบเมื่อเป็นไปได้
✅ แสดงสัญญาณหากการพยายามลงทะเบียนพาสคีย์ไม่สำเร็จด้วย PublicKeyCredential.signalUnknownCredential()
- พาสคีย์ที่หายไปอาจทำให้เกิดความสับสน แจ้งให้ผู้ให้บริการพาสคีย์ทราบหากเซิร์ฟเวอร์ลงทะเบียนพาสคีย์ไม่สำเร็จ
✅ ส่งการแจ้งเตือนไปยังผู้ใช้หลังจากสร้างและลงทะเบียนพาสคีย์สำหรับบัญชี
- ตรวจสอบว่าผู้ใช้ทราบถึงการสร้างพาสคีย์ โดยเฉพาะอย่างยิ่งเมื่อสร้างโดยบุคคลอื่น
การตรวจสอบสิทธิ์พาสคีย์
การรองรับทั้งผู้ใช้รหัสผ่านและผู้ใช้พาสคีย์โดยไม่ทำให้เกิดปัญหาอาจเป็นเรื่องยาก ทําตามวิธีการที่อธิบายไว้ในหัวข้อลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนข้อความอัตโนมัติของแบบฟอร์มเพื่อสร้างฟีเจอร์ป้อนข้อความอัตโนมัติของแบบฟอร์มพาสคีย์ในเว็บไซต์ ต่อไปนี้คือสิ่งที่คุณควรตรวจสอบนอกเหนือจากฟีเจอร์การตรวจสอบสิทธิ์พาสคีย์พื้นฐาน
✅ อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนข้อมูลฟอร์มอัตโนมัติ
- หากเว็บไซต์ของคุณกําลังเปลี่ยนจากรหัสผ่านเป็นพาสคีย์ วิธีที่ดีที่สุดในการรองรับผู้ใช้ทั้ง 2 ประเภทคือการใช้ฟีเจอร์ป้อนข้อความอัตโนมัติของแบบฟอร์มในเบราว์เซอร์
✅ ส่งสัญญาณเมื่อไม่พบข้อมูลเข้าสู่ระบบที่ตรงกันของพาสคีย์ในแบ็กเอนด์ด้วย PublicKeyCredential.signalUnknownCredential()
- พาสคีย์ที่หายไปอาจทำให้เกิดความสับสน แจ้งให้ผู้ให้บริการพาสคีย์ทราบว่าพาสคีย์ใดใช้ไม่ได้เพื่อให้ผู้ให้บริการลบพาสคีย์ดังกล่าว
✅ แจ้งให้ผู้ใช้สร้างพาสคีย์ด้วยตนเองหากผู้ใช้ยังไม่ได้สร้างพาสคีย์หลังจากลงชื่อเข้าใช้
- หากผู้ใช้ยังไม่ได้สร้างพาสคีย์ โปรดแนะนำให้ผู้ใช้สร้างพาสคีย์
✅ สร้างพาสคีย์โดยอัตโนมัติ (สร้างแบบมีเงื่อนไข) หลังจากผู้ใช้ลงชื่อเข้าใช้ด้วยรหัสผ่าน (และปัจจัยที่ 2)
- เร่งการนำพาสคีย์มาใช้กับผู้ใช้
✅ แจ้งให้สร้างพาสคีย์ในเครื่อง หากผู้ใช้ลงชื่อเข้าใช้ด้วยพาสคีย์ที่ใช้ได้กับอุปกรณ์หลายเครื่อง
- การสร้างพาสคีย์ในเครื่องช่วยให้ผู้ใช้ลงชื่อเข้าใช้โดยไม่ต้องสแกนคิวอาร์โค้ดได้ตั้งแต่ครั้งถัดไป
✅ ส่งสัญญาณรายการพาสคีย์ที่ใช้ได้และรายละเอียดผู้ใช้ที่อัปเดตแล้ว (ชื่อผู้ใช้ ชื่อที่แสดง) ไปยังผู้ให้บริการหลังจากลงชื่อเข้าใช้
- การทำให้รายการพาสคีย์และรายละเอียดผู้ใช้ซิงค์กันระหว่างเซิร์ฟเวอร์กับผู้ให้บริการพาสคีย์จะช่วยปรับปรุงประสบการณ์ของผู้ใช้
การจัดการพาสคีย์
การอธิบายพาสคีย์ให้ผู้ใช้เข้าใจจะช่วยให้ผู้ใช้เข้าใจภาพรวมและควบคุมพาสคีย์ได้ดียิ่งขึ้น ทำตามวิธีการที่อธิบายไว้ในช่วยให้ผู้ใช้จัดการพาสคีย์ได้อย่างมีประสิทธิภาพเพื่อสร้างฟีเจอร์การจัดการพาสคีย์ในเว็บไซต์ สิ่งต่อไปนี้คือสิ่งที่คุณควรตรวจสอบ
✅ อนุญาตให้ผู้ใช้จัดการพาสคีย์ในหน้าการจัดการพาสคีย์
- สร้างที่เก็บข้อมูลส่วนกลางที่ผู้ใช้สามารถจัดการพาสคีย์ได้
✅ รองรับการลงทะเบียนพาสคีย์หลายรายการ
- ความสามารถในการลงทะเบียนพาสคีย์หลายรายการช่วยให้ผู้ใช้ป้องกันตัวเองจากการถูกล็อกไม่ให้เข้าถึงได้โดยไม่ต้องเปลี่ยนไปใช้วิธีการตรวจสอบสิทธิ์ที่มีประสิทธิภาพต่ำกว่า
✅ อนุญาตให้ผู้ใช้เพิ่มพาสคีย์ประเภทใหม่ที่มีความยืดหยุ่นในหน้าการจัดการ
✅ แสดงชื่อพาสคีย์
- ตั้งชื่อพาสคีย์ตาม AAGUID และแสดงภาพพาสคีย์ของผู้ใช้
✅ ระบุว่าพาสคีย์ซิงค์ได้หรือไม่ซิงค์ได้
- แจ้งให้ผู้ใช้ทราบเมื่อไม่ได้ซิงค์พาสคีย์
✅ อนุญาตให้ผู้ใช้นำคีย์สาธารณะออกจากเซิร์ฟเวอร์
✅ ส่งสัญญาณรายการพาสคีย์เมื่อนำคีย์สาธารณะที่เชื่อมโยงออกจากเซิร์ฟเวอร์
- การทำให้รายการพาสคีย์ระหว่างเซิร์ฟเวอร์และผู้ให้บริการพาสคีย์ซิงค์กันอยู่เสมอจะช่วยปรับปรุงประสบการณ์ของผู้ใช้

ข้อควรพิจารณาเพิ่มเติม
✅ ส่งสัญญาณรายละเอียดผู้ใช้ที่อัปเดตแล้ว (ชื่อผู้ใช้ ชื่อที่แสดง) เมื่อผู้ใช้อัปเดต
✅ สร้างพาสคีย์แทนรหัสผ่านใหม่เมื่อผู้ใช้ "ลืมรหัสผ่าน"