ดูวิธีผสานรวมพาสคีย์ไว้ในบริการ
โครงสร้างของระบบพาสคีย์
ระบบพาสคีย์ประกอบด้วยองค์ประกอบ 2-3 อย่าง ได้แก่
- ฝ่ายที่พึ่งพาได้: ในบริบทของพาสคีย์ ฝ่ายที่พึ่งพาได้ (RP เรียกสั้นๆ) จะจัดการการออกและการตรวจสอบสิทธิ์พาสคีย์ RP ต้องใช้ไคลเอ็นต์ (ซึ่งก็คือเว็บไซต์หรือแอปที่สร้างพาสคีย์หรือตรวจสอบสิทธิ์ด้วยพาสคีย์) และเซิร์ฟเวอร์สำหรับการลงทะเบียน จัดเก็บ และยืนยันข้อมูลเข้าสู่ระบบที่สร้างโดยพาสคีย์ในไคลเอ็นต์ แอปพลิเคชันพาสคีย์บนอุปกรณ์เคลื่อนที่ต้องผูกกับโดเมนเซิร์ฟเวอร์ RP โดยใช้กลไกการเชื่อมโยงที่ระบบปฏิบัติการมีให้ เช่น Digital AssetLinks
- Authenticator: อุปกรณ์คอมพิวเตอร์ เช่น โทรศัพท์มือถือ แท็บเล็ต แล็ปท็อป หรือคอมพิวเตอร์เดสก์ท็อปที่สามารถสร้างและยืนยันพาสคีย์โดยใช้ฟีเจอร์ล็อกหน้าจอที่ระบบปฏิบัติการมีให้
- เครื่องมือจัดการรหัสผ่าน: ซอฟต์แวร์ที่ติดตั้งบนอุปกรณ์ของผู้ใช้ปลายทางที่ให้บริการ จัดเก็บ และซิงค์พาสคีย์ เช่น เครื่องมือจัดการรหัสผ่านบน Google
ขั้นตอนการลงทะเบียน
ใช้ WebAuthn API ในเว็บไซต์หรือไลบรารีเครื่องมือจัดการข้อมูลเข้าสู่ระบบในแอป Android เพื่อสร้างและลงทะเบียนพาสคีย์ใหม่
หากต้องการสร้างพาสคีย์ใหม่ มีองค์ประกอบหลัก 2-3 อย่างที่ต้องระบุดังนี้
- รหัส RP: ระบุรหัสของฝ่ายที่เกี่ยวข้องในรูปแบบโดเมนเว็บ
- ข้อมูลผู้ใช้: รหัส ชื่อผู้ใช้ และชื่อที่แสดงของผู้ใช้
- ข้อมูลเข้าสู่ระบบที่จะยกเว้น: ข้อมูลเกี่ยวกับพาสคีย์ที่จัดเก็บไว้ก่อนหน้านี้เพื่อป้องกันไม่ให้มีการลงทะเบียนซ้ำ
- ประเภทพาสคีย์: จะใช้อุปกรณ์ (" Authenticator ของแพลตฟอร์ม") เป็น Authenticator หรือคีย์ความปลอดภัยแบบถอดได้ ("authenticator ข้ามแพลตฟอร์ม / โรมมิ่ง") นอกจากนี้ ผู้โทรยังระบุได้ว่าต้องการให้ระบบค้นพบข้อมูลเข้าสู่ระบบได้หรือไม่ เพื่อให้ผู้ใช้เลือกบัญชีที่จะลงชื่อเข้าใช้ได้
เมื่อ RP ขอให้สร้างพาสคีย์และผู้ใช้ยืนยันรหัสผ่านด้วยการปลดล็อกหน้าจอ ระบบจะสร้างพาสคีย์ใหม่และส่งคืนข้อมูลเข้าสู่ระบบคีย์สาธารณะ ส่งข้อมูลนั้นไปยังเซิร์ฟเวอร์และจัดเก็บรหัสข้อมูลเข้าสู่ระบบและคีย์สาธารณะเพื่อการตรวจสอบสิทธิ์ในอนาคต
ดูวิธีสร้างและลงทะเบียนพาสคีย์โดยละเอียดที่
- บนเว็บ: สร้างพาสคีย์สำหรับการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน
- ใน Android: เพิ่มการตรวจสอบสิทธิ์ที่ราบรื่นให้แอปของคุณด้วยพาสคีย์ โดยใช้ API เครื่องมือจัดการข้อมูลเข้าสู่ระบบ
ขั้นตอนการตรวจสอบสิทธิ์
ใช้ WebAuthn API ในเว็บไซต์หรือไลบรารีเครื่องมือจัดการข้อมูลเข้าสู่ระบบในแอป Android เพื่อตรวจสอบสิทธิ์ด้วยพาสคีย์ที่ลงทะเบียนไว้
หากต้องการตรวจสอบสิทธิ์ด้วยพาสคีย์ มีองค์ประกอบหลัก 2-3 อย่างที่ต้องระบุ ได้แก่
- รหัส RP: ระบุรหัสของฝ่ายที่เกี่ยวข้องในรูปแบบโดเมนเว็บ
- การท้า: ชาเลนจ์ที่เซิร์ฟเวอร์สร้างขึ้นซึ่งป้องกันการโจมตีซ้ำ
เมื่อ RP ขอการตรวจสอบสิทธิ์ด้วยพาสคีย์และผู้ใช้ยืนยันโดยใช้การปลดล็อกหน้าจอ ระบบจะส่งข้อมูลเข้าสู่ระบบคีย์สาธารณะกลับมา ส่งไปยังเซิร์ฟเวอร์และยืนยันลายเซ็นด้วยคีย์สาธารณะที่จัดเก็บไว้
ดูวิธีตรวจสอบสิทธิ์ด้วยพาสคีย์โดยละเอียดที่
- บนเว็บ: ลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนแบบฟอร์มอัตโนมัติ
- ใน Android: เพิ่มการตรวจสอบสิทธิ์ที่ราบรื่นให้แอปของคุณด้วยพาสคีย์ โดยใช้ API เครื่องมือจัดการข้อมูลเข้าสู่ระบบ
การผสานรวมฝั่งเซิร์ฟเวอร์
เมื่อสร้างพาสคีย์ เซิร์ฟเวอร์จะต้องระบุพารามิเตอร์ที่สำคัญ เช่น คำถาม ข้อมูลผู้ใช้ รหัสข้อมูลเข้าสู่ระบบที่จะยกเว้น และอื่นๆ จากนั้นจะยืนยันข้อมูลเข้าสู่ระบบของคีย์สาธารณะที่สร้างขึ้นซึ่งส่งจากไคลเอ็นต์และจัดเก็บคีย์สาธารณะไว้ในฐานข้อมูล สำหรับการตรวจสอบสิทธิ์ด้วยพาสคีย์ เซิร์ฟเวอร์ต้องตรวจสอบข้อมูลเข้าสู่ระบบอย่างละเอียดและยืนยันลายเซ็นเพื่อให้ผู้ใช้ลงชื่อเข้าใช้ได้
ดูข้อมูลเพิ่มเติมในคำแนะนำฝั่งเซิร์ฟเวอร์ของเรา
- ข้อมูลเบื้องต้นเกี่ยวกับการใช้พาสคีย์ฝั่งเซิร์ฟเวอร์
- การลงทะเบียนพาสคีย์ฝั่งเซิร์ฟเวอร์
- การตรวจสอบสิทธิ์พาสคีย์ฝั่งเซิร์ฟเวอร์
กลไกการตรวจสอบสิทธิ์ (เดิม) ที่มีอยู่
เมื่อคุณรองรับพาสคีย์ในบริการที่มีอยู่ การเปลี่ยนผ่านกลไกการตรวจสอบสิทธิ์แบบเก่า เช่น รหัสผ่านเป็นพาสคีย์จะไม่เกิดขึ้นใน 1 วัน เราทราบดีว่าคุณมีแนวโน้มจะกำจัดวิธีการตรวจสอบสิทธิ์ที่ไม่รัดกุมนี้ให้เร็วที่สุด แต่ก็อาจทำให้ผู้ใช้เกิดความสับสน หรือทำให้ผู้ใช้บางคนตกเป็นเป้าหมายได้ เราขอแนะนำให้คงวิธีการตรวจสอบสิทธิ์เดิมไว้ในขณะนี้
ซึ่งมีสาเหตุ 2-3 ประการดังนี้
- มีผู้ใช้ในสภาพแวดล้อมที่เข้ากันไม่ได้กับพาสคีย์: การรองรับพาสคีย์กำลังขยายตัวในวงกว้างในระบบปฏิบัติการและเบราว์เซอร์ต่างๆ แต่ผู้ที่ใช้เวอร์ชันเก่ายังไม่สามารถใช้พาสคีย์ได้
- ระบบนิเวศของพาสคีย์ยังไม่เติบโต: ระบบนิเวศของพาสคีย์มีการพัฒนาอย่างต่อเนื่อง รายละเอียด UX และความเข้ากันได้ทางเทคนิคระหว่างสภาพแวดล้อมต่างๆ จะปรับปรุงให้ดีขึ้นได้
- ผู้ใช้อาจยังไม่พร้อมจะใช้พาสคีย์: มีคนที่ลังเลที่จะหาอะไรใหม่ๆ เมื่อระบบนิเวศของพาสคีย์เติบโตขึ้น ผู้ใช้ก็จะรู้สึกได้ว่าพาสคีย์ทำงานอย่างไร และเหตุใดจึงมีประโยชน์สำหรับพาสคีย์
ย้อนกลับไปที่กลไกการตรวจสอบสิทธิ์ที่มีอยู่
แม้ว่าพาสคีย์จะช่วยให้การตรวจสอบสิทธิ์ง่ายและปลอดภัยขึ้น แต่การใช้กลไกแบบเดิมๆ ก็เหมือนการปล่อยให้มีช่องโหว่ เราขอแนะนำให้กลับไปปรับปรุงและ ปรับปรุงกลไกการตรวจสอบสิทธิ์ที่คุณใช้อยู่
รหัสผ่าน
การสร้างรหัสผ่านที่รัดกุมและการจัดการกับแต่ละเว็บไซต์เป็นงานที่ท้าทายสำหรับผู้ใช้ ขอแนะนำเป็นอย่างยิ่งให้ใช้เครื่องมือจัดการรหัสผ่านที่ติดตั้งมาในตัวหรือเครื่องมือจัดการรหัสผ่านเดี่ยวๆ การปรับเปลี่ยนฟอร์มลงชื่อเข้าใช้เล็กๆ น้อยๆ ทำให้เว็บไซต์และแอปสามารถสร้างความแตกต่างอย่างมากต่อความปลอดภัยและประสบการณ์การลงชื่อเข้าใช้ ดูว่าคุณจะสามารถทำการเปลี่ยนแปลงเหล่านั้นได้อย่างไร:
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์มลงชื่อเข้าใช้ (เว็บ)
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์มลงชื่อสมัครใช้ (เว็บ)
- ลงชื่อเข้าใช้ผู้ใช้ด้วยเครื่องมือจัดการข้อมูลเข้าสู่ระบบ (Android)
การตรวจสอบสิทธิ์แบบ 2 ปัจจัย
แม้ว่าการใช้เครื่องมือจัดการรหัสผ่านจะช่วยให้ผู้ใช้จัดการรหัสผ่านได้ แต่ผู้ใช้บางคนก็ไม่ได้ใช้รหัสผ่านนั้น การขอข้อมูลเข้าสู่ระบบเพิ่มเติมที่เรียกว่ารหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว (OTP) เป็นแนวทางปฏิบัติทั่วไปในการปกป้องผู้ใช้ดังกล่าว โดยปกติแล้ว ระบบจะระบุ OTP ผ่านอีเมล ข้อความ SMS หรือแอป Authenticator เช่น Google Authenticator เนื่องจาก OTP มักจะเป็นข้อความสั้นๆ ที่สร้างขึ้นแบบไดนามิกโดยใช้ช่วงเวลาที่จำกัดเท่านั้น จึงช่วยลดโอกาสในการลักลอบใช้บัญชี วิธีการเหล่านี้ไม่ได้มีประสิทธิภาพเท่าพาสคีย์ แต่ดีกว่าการให้ผู้ใช้มีเพียงรหัสผ่านเท่านั้น
หากเลือก SMS เป็นวิธีส่ง OTP โปรดดูแนวทางปฏิบัติแนะนำต่อไปนี้เพื่อปรับปรุงประสบการณ์ของผู้ใช้ในการป้อน OTP
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์ม SMS OTP (เว็บ)
- การยืนยันทาง SMS โดยอัตโนมัติด้วย SMS Retriever API (Android)
การรวมศูนย์ข้อมูลประจำตัว
การรวมศูนย์ข้อมูลประจำตัวเป็นอีกตัวเลือกหนึ่งที่จะช่วยให้ผู้ใช้ลงชื่อเข้าใช้ได้อย่างปลอดภัยและง่ายดาย การรวมศูนย์ข้อมูลประจำตัวจะทำให้เว็บไซต์และแอปช่วยให้ผู้ใช้ลงชื่อเข้าใช้ด้วยข้อมูลประจำตัวของผู้ใช้จากผู้ให้บริการข้อมูลประจำตัวบุคคลที่สามได้ ตัวอย่างเช่น ฟีเจอร์ลงชื่อเข้าใช้ด้วย Google สร้าง Conversion ที่ยอดเยี่ยมให้แก่นักพัฒนาแอป และผู้ใช้ก็พบว่าการตรวจสอบสิทธิ์ด้วยรหัสผ่านนั้นทำได้ง่ายและดีกว่า การรวมศูนย์ข้อมูลประจำตัวเป็นส่วนเสริมของพาสคีย์ ซึ่งเหมาะอย่างยิ่งสำหรับการลงชื่อสมัครใช้เนื่องจากเว็บไซต์หรือแอปสามารถรับข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ได้ในขั้นตอนเดียว ส่วนพาสคีย์เหมาะอย่างยิ่งสำหรับการลดความซับซ้อนของการตรวจสอบสิทธิ์อีกครั้ง
โปรดทราบว่าหลังจาก Chrome เลิกใช้คุกกี้ของบุคคลที่สามในปี 2024 ระบบการรวมศูนย์ข้อมูลประจำตัวบางระบบอาจได้รับผลกระทบ ทั้งนี้ขึ้นอยู่กับการสร้างระบบดังกล่าว เรากำลังพัฒนา API ของเบราว์เซอร์ใหม่ที่เรียกว่า Federated Credential Management API (เรียกสั้นๆ ว่า FedCM) เพื่อลดผลกระทบดังกล่าว หากคุณใช้ผู้ให้บริการข้อมูลประจำตัว โปรดดูรายละเอียดและดูว่าคุณต้องนำ FedCM ไปใช้หรือไม่
- API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์ (เว็บ, FedCM)
- ภาพรวมของการลงชื่อเข้าใช้ด้วย Google สำหรับเว็บ (เว็บ การลงชื่อเข้าใช้ด้วย Google)
- ภาพรวมของการลงชื่อเข้าใช้ด้วย One Tap ใน Android (Android, การลงชื่อเข้าใช้ด้วย One Tap)
"ลิงก์ Magic Link"
การลงชื่อเข้าใช้ด้วย Magic Link เป็นวิธีการตรวจสอบสิทธิ์ที่บริการจะส่งลิงก์เข้าสู่ระบบผ่านทางอีเมลเพื่อให้ผู้ใช้คลิกลิงก์นั้นเพื่อตรวจสอบสิทธิ์ตนเองได้ แม้ว่าวิธีนี้จะช่วยให้ผู้ใช้ลงชื่อเข้าใช้ได้โดยไม่ต้องจำรหัสผ่าน แต่การสลับไปมาระหว่างเบราว์เซอร์/แอปและโปรแกรมรับส่งอีเมลจะเป็นอุปสรรค นอกจากนี้ เนื่องจากกลไกการตรวจสอบสิทธิ์อาศัยอีเมล การรักษาความปลอดภัยที่หละหลวมของผู้ให้บริการอีเมลอาจทำให้บัญชีของผู้ใช้มีความเสี่ยงได้
แหล่งข้อมูลการเรียนรู้
เว็บไซต์
หากต้องการผสานรวมพาสคีย์ในเว็บไซต์ ให้ใช้ Web Authentication API (WebAuthn) หากต้องการดูข้อมูลเพิ่มเติม โปรดดูแหล่งข้อมูลต่อไปนี้
- สร้างพาสคีย์สำหรับการเข้าสู่ระบบแบบไม่ใช้รหัสผ่าน: บทความที่กล่าวถึงวิธีอนุญาตให้ผู้ใช้สร้างพาสคีย์สำหรับเว็บไซต์
- ลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนอัตโนมัติในแบบฟอร์ม: บทความที่กล่าวถึงการออกแบบการลงชื่อเข้าใช้แบบไม่ใช้รหัสผ่านด้วยพาสคีย์ ขณะเดียวกันก็อำนวยความสะดวกแก่ผู้ใช้รหัสผ่านเดิม
- ใช้พาสคีย์กับการป้อนข้อความอัตโนมัติในแบบฟอร์มในแอป: Codelab ที่ให้คุณเรียนรู้วิธีใช้งานพาสคีย์ด้วยการป้อนข้อความอัตโนมัติในแบบฟอร์มในแอปเว็บเพื่อสร้างการลงชื่อเข้าใช้ที่ง่ายและปลอดภัยยิ่งขึ้น
- ดูวิธีใช้พาสคีย์ด้วยการป้อนข้อความอัตโนมัติในเว็บแอป: วิดีโอเวิร์กช็อปที่ลงรายละเอียดผ่าน Codelab ใช้พาสคีย์ด้วยแบบฟอร์ม ป้อนอัตโนมัติในเว็บแอปเพื่อใช้พาสคีย์ ด้วยการกรอกแบบฟอร์มอัตโนมัติในเว็บแอปเพื่อให้การลงชื่อเข้าใช้ง่ายขึ้นและปลอดภัยยิ่งขึ้น
- สร้างแอป WebAuthn แรก: Codelab ที่ให้คุณเรียนรู้วิธีสร้างฟังก์ชันการตรวจสอบสิทธิ์ซ้ำง่ายๆ ด้วยพาสคีย์ในเว็บไซต์
Android
หากต้องการผสานรวมพาสคีย์ในแอป Android ให้ใช้ไลบรารีเครื่องมือจัดการข้อมูลเข้าสู่ระบบ ดูข้อมูลเพิ่มเติมได้ในแหล่งข้อมูลต่อไปนี้
- ลงชื่อเข้าใช้ด้วยเครื่องมือจัดการข้อมูลเข้าสู่ระบบ: บทความที่กล่าวถึงวิธีผสานรวมเครื่องมือจัดการข้อมูลเข้าสู่ระบบใน Android เครื่องมือจัดการข้อมูลเข้าสู่ระบบคือ Jetpack API ที่รองรับวิธีการลงชื่อเข้าใช้ที่หลากหลาย เช่น ชื่อผู้ใช้และรหัสผ่าน พาสคีย์ และโซลูชันการลงชื่อเข้าใช้แบบรวมศูนย์ (เช่น การลงชื่อเข้าใช้ด้วย Google) ใน API เดียว
- นำการตรวจสอบสิทธิ์ที่ราบรื่นมาใช้กับแอปของคุณด้วยพาสคีย์โดยใช้เครื่องมือจัดการ ข้อมูลเข้าสู่ระบบ API: บทความที่กล่าวถึงวิธีผสานรวมพาสคีย์ผ่านเครื่องมือจัดการ ข้อมูลเข้าสู่ระบบใน Android
- ดูวิธีทำให้เส้นทางการตรวจสอบสิทธิ์ง่ายขึ้นโดยใช้ API ตัวจัดการข้อมูลเข้าสู่ระบบในแอป Android ของคุณ: ดูวิธีใช้งาน API การจัดการข้อมูลเข้าสู่ระบบเพื่อให้การตรวจสอบสิทธิ์ราบรื่นและปลอดภัยในแอปโดยใช้พาสคีย์หรือรหัสผ่าน
- แอปตัวอย่างเครื่องมือจัดการข้อมูลเข้าสู่ระบบ: โค้ดตัวอย่างที่เรียกใช้เครื่องมือจัดการข้อมูลเข้าสู่ระบบที่รองรับพาสคีย์
- ผสานรวมเครื่องมือจัดการข้อมูลเข้าสู่ระบบกับโซลูชันของผู้ให้บริการข้อมูลเข้าสู่ระบบ | นักพัฒนาแอป Android
UX
ดูคำแนะนำเกี่ยวกับประสบการณ์ของผู้ใช้พาสคีย์