เว็บ API สําหรับการรวมศูนย์ข้อมูลระบบการระบุตัวตนที่รักษาความเป็นส่วนตัว
FedCM คืออะไร
FedCM (การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์) เป็นแนวทางที่รักษาความเป็นส่วนตัวสำหรับบริการข้อมูลประจำตัวแบบรวมศูนย์ (เช่น "ลงชื่อเข้าใช้ด้วย...") ที่ไม่ใช้คุกกี้ของบุคคลที่สามหรือการเปลี่ยนเส้นทางการนําทาง
สถานะการติดตั้งใช้งาน
- สถานะ Chrome Platform
- FedCM จัดส่งใน Chrome 108
- ข้อเสนอของ FedCM เปิดอยู่สำหรับการอภิปรายสาธารณะ
- เบราว์เซอร์อื่นยังไม่รองรับ FedCM
- Mozilla กำลังใช้ต้นแบบ สำหรับ Firefox และ Apple ได้แสดงการสนับสนุนทั่วไป และแสดงความสนใจที่จะทำงานร่วมกันตามข้อเสนอของ FedCM
นับจากนี้ไป เราวางแผนที่จะเปิดตัวฟีเจอร์ใหม่ๆ หลายรายการโดยอิงตามความคิดเห็นที่เราได้รับจากผู้ให้บริการข้อมูลประจำตัว (IdP) ผู้อ้างอิง (RP) และผู้ให้บริการเบราว์เซอร์ แม้ว่าเราหวังว่าผู้ให้บริการข้อมูลประจำตัวจะนำ FedCM มาใช้งาน แต่โปรดทราบว่า FedCM ยังคงเป็น API ที่อยู่ระหว่างการพัฒนา
เราขอแนะนํา 2 แนวทางสําหรับผู้ให้บริการข้อมูลประจําตัวเพื่อลดปัญหาในการทําให้การเปลี่ยนแปลงที่ไม่เข้ากันได้แบบย้อนหลังใช้งานได้
- สมัครรับข้อมูลจดหมายข่าวของเรา ซึ่งเราจะส่งข้อมูลอัปเดตเมื่อ API พัฒนาขึ้น
- เราขอแนะนําให้ผู้ให้บริการระบุตัวตนเผยแพร่ FedCM API โดยใช้ SDK ของ JavaScript ขณะที่ API กำลังพัฒนา และไม่ให้ RP โฮสต์ SDK ด้วยตนเอง วิธีนี้จะช่วยให้มั่นใจว่าผู้ให้บริการระบุตัวตนจะทำการเปลี่ยนแปลงได้เมื่อ API พัฒนาไปเรื่อยๆ โดยไม่ต้องขอให้บุคคลที่เชื่อถือทั้งหมดทำให้ใช้งานได้อีกครั้ง
เหตุใดจึงต้องใช้ FedCM
ในช่วง 10 ปีที่ผ่านมา การรวมศูนย์ข้อมูลประจำตัวมีบทบาทสำคัญในการยกระดับมาตรฐานการตรวจสอบสิทธิ์บนเว็บ ในแง่ของความน่าเชื่อถือ การใช้งานง่าย (เช่น การลงชื่อเข้าใช้เพียงครั้งเดียวโดยไม่ต้องใช้รหัสผ่าน) และการรักษาความปลอดภัย (เช่น เพิ่มการป้องกันการโจมตีแบบฟิชชิงและการใช้ข้อมูลเข้าสู่ระบบ) เมื่อเทียบกับชื่อผู้ใช้และรหัสผ่านของแต่ละเว็บไซต์
เมื่อใช้การรวมข้อมูลประจำตัว RP (บุคคลที่เชื่อถือ) จะอาศัย IdP (ผู้ให้บริการข้อมูลประจำตัว) เพื่อสร้างบัญชีให้ผู้ใช้โดยไม่ต้องใช้ชื่อผู้ใช้และรหัสผ่านใหม่
น่าเสียดายที่กลไกการรวมศูนย์ข้อมูลประจำตัวนั้นใช้งาน (iframe, การเปลี่ยนเส้นทาง และคุกกี้) มีการใช้งานอย่างไม่เหมาะสมเพื่อติดตามผู้ใช้ทั่วทั้งอินเทอร์เน็ต เนื่องจาก User Agent ไม่สามารถแยกความแตกต่างระหว่างการรวมข้อมูลระบุตัวตนกับการติดตาม การบรรเทาปัญหาการละเมิดประเภทต่างๆ จึงทําให้การติดตั้งใช้งานการรวมข้อมูลระบุตัวตนมีความยากขึ้น
Federated Credential Management API (FedCM) ให้การแยกแยะเฉพาะกรณีการใช้งานสำหรับขั้นตอนการระบุตัวตนแบบรวมศูนย์บนเว็บ โดยแสดงกล่องโต้ตอบที่สื่อผ่านเบราว์เซอร์ซึ่งช่วยให้ผู้ใช้เลือกบัญชีจากผู้ให้บริการระบุตัวตนเพื่อเข้าสู่ระบบเว็บไซต์ได้
FedCM เป็นเส้นทางแบบหลายขั้นตอนเพื่อปรับปรุงตัวตนบนเว็บให้ดียิ่งขึ้น ในขั้นตอนแรก เราจะมุ่งเน้นที่การลดผลกระทบจากข้อจำกัดของคุกกี้ของบุคคลที่สามที่มีต่อข้อมูลระบุตัวตนที่รวมศูนย์ (ดูขั้นตอนเพิ่มเติม 2-3 ขั้นตอนในส่วนแผนงาน)
เราคาดว่าจะได้รับผลกระทบอะไรบ้าง
จากความพยายามของชุมชนและการวิจัย เราพบว่าการผสานรวมที่เกี่ยวข้องกับการรวมข้อมูลระบุตัวตน 2-3 รายการได้รับผลกระทบจากข้อจำกัดเกี่ยวกับคุกกี้ของบุคคลที่สาม ดังนี้
- ช่องทางด้านหน้าของ OpenID Connect ออกจากระบบ
- การจัดการเซสชัน OpenID Connect
- การต่ออายุโทเค็นเบื้องหลังที่อิงตาม iframe
- วิดเจ็ตการเข้าสู่ระบบที่อิงตาม iframe
เป้าหมายแรกของ FedCM คือการลดผลกระทบจากข้อจำกัดเกี่ยวกับคุกกี้ของบุคคลที่สามที่มีต่อการรวมศูนย์ข้อมูลประจำตัว ซึ่งเป็นส่วนที่เราคาดว่าจะได้รับผลกระทบ หากมี Use Case เพิ่มเติมที่ไม่ได้ระบุไว้ คุณสามารถมีส่วนร่วมและแชร์ความคิดเห็นได้
ผู้ที่ควรใช้ FedCM
เราคาดว่า FedCM จะมีประโยชน์กับคุณก็ต่อเมื่อเงื่อนไขทั้งหมดต่อไปนี้มีผล
- คุณเป็นผู้ให้บริการข้อมูลประจำตัว (IdP)
- คุณได้รับผลกระทบจากข้อจํากัดเกี่ยวกับคุกกี้ของบุคคลที่สาม
- โดย RP ของคุณเป็นเว็บไซต์ของบุคคลที่สาม หาก RP เป็นเว็บไซต์ที่เกี่ยวข้องอย่างมีความหมาย คุณอาจได้รับประโยชน์จากชุดเว็บไซต์ที่เกี่ยวข้องมากกว่า
คุณคือ IdP
FedCM ต้องการการสนับสนุนจากผู้ให้บริการข้อมูลประจำตัว บุคคลที่เชื่อถือใช้ FedCM ได้อย่างอิสระไม่ได้ หากคุณเป็น RP คุณขอให้ IdP ระบุวิธีการได้
คุณได้รับผลกระทบจากข้อจํากัดเกี่ยวกับคุกกี้ของบุคคลที่สาม
คุณควรใช้ FedCM เฉพาะในกรณีที่การผสานรวมปัจจุบันได้รับผลกระทบจากข้อจํากัดคุกกี้ของบุคคลที่สาม
หากคุณไม่แน่ใจว่าการรวมศูนย์ข้อมูลประจำตัวจะยังคงทำงานต่อไปหรือไม่เมื่อคุกกี้ของบุคคลที่สามไม่พร้อมใช้งาน คุณทดสอบผลกระทบบนเว็บไซต์ได้โดยการบล็อกคุกกี้ของบุคคลที่สามใน Chrome
หากไม่พบผลกระทบที่ตรวจพบได้กับการรวมข้อมูลประจำตัวโดยไม่ใช้คุกกี้ของบุคคลที่สาม คุณจะใช้การผสานรวมปัจจุบันต่อไปได้โดยไม่ต้องใช้ FedCM
หากไม่แน่ใจว่าต้องตรวจสอบอะไรบ้าง โปรดอ่านเพิ่มเติมเกี่ยวกับฟีเจอร์ที่ทราบซึ่งคาดว่าข้อจำกัดเกี่ยวกับคุกกี้ของบุคคลที่สามจะส่งผลกระทบ
RP ของคุณเป็นบุคคลที่สาม
หากคุณเป็นผู้ให้บริการข้อมูลประจำตัวที่มี RP มีความสัมพันธ์แบบบุคคลที่หนึ่งกับ IdP เราคาดว่าชุดเว็บไซต์ที่เกี่ยวข้องอาจเป็นตัวเลือกที่ดีกว่า ชุดเว็บไซต์ที่เกี่ยวข้อง (RWS) เป็นวิธีการสำหรับองค์กรในการประกาศความสัมพันธ์ระหว่างเว็บไซต์ต่างๆ เพื่อให้เบราว์เซอร์อนุญาตการเข้าถึงคุกกี้ของบุคคลที่สามแบบจำกัดสำหรับวัตถุประสงค์ที่เฉพาะเจาะจง ซึ่งจะช่วยให้คุกกี้ของบุคคลที่สามทํางานได้กับชุดเว็บไซต์ที่เกี่ยวข้องอย่างมีความหมาย แม้ว่าจะมีการจํากัดคุกกี้ของบุคคลที่สามก็ตาม
ผู้ใช้จะโต้ตอบกับ FedCM อย่างไร
เป้าหมายหลักของ FedCM คือลดผลกระทบจากการจํากัดคุกกี้ของบุคคลที่สาม ผู้ใช้สามารถเปิดหรือปิดใช้ FedCM ในการตั้งค่าผู้ใช้ของ Chrome
FedCM ได้รับการออกแบบมาให้ใช้ได้กับทุกโปรโตคอลและมีฟังก์ชันการทำงานต่อไปนี้ที่เกี่ยวข้องกับการตรวจสอบสิทธิ์
ดูการสาธิตเพื่อดูวิธีการทำงานของฟีเจอร์นี้
ลงชื่อเข้าใช้กับบุคคลที่เชื่อถือ
เมื่อผู้ใช้ไปที่เว็บไซต์ของบุคคลที่เชื่อถือ (RP) กล่องโต้ตอบการลงชื่อเข้าใช้ FedCM จะปรากฏขึ้นหากผู้ใช้ลงชื่อเข้าใช้ IdP อยู่
หากผู้ใช้ไม่มีบัญชีใน RP ที่มี IdP กล่องโต้ตอบการลงชื่อสมัครใช้จะปรากฏขึ้นพร้อมข้อความการเปิดเผยข้อมูลเพิ่มเติม เช่น ข้อกำหนดในการให้บริการและนโยบายความเป็นส่วนตัวของ RP หากมี
ผู้ใช้ลงชื่อเข้าใช้ได้โดยการแตะต่อไปในฐานะ... หากสำเร็จ เบราว์เซอร์จะจัดเก็บข้อเท็จจริงที่ว่าผู้ใช้ได้สร้างบัญชีสมาพันธ์ใน RP ด้วย IdP
ระบบคาดว่า RP จะทำงานได้บนเบราว์เซอร์ที่ไม่รองรับ FedCM ผู้ใช้ควรใช้กระบวนการลงชื่อเข้าใช้ที่มีอยู่ซึ่งไม่ใช่ FedCM ได้ เรียนรู้เพิ่มเติมเกี่ยวกับวิธีลงชื่อเข้าใช้ใน FedCM
การตั้งค่าเพื่อเปิดหรือปิดใช้ FedCM
ผู้ใช้สามารถเปิดหรือปิดใช้ FedCM ได้ในการตั้งค่าของ Chrome ใน Android ไปที่การตั้งค่า > การตั้งค่าเว็บไซต์ > การลงชื่อเข้าใช้ของบุคคลที่สาม แล้วเปลี่ยนปุ่มสลับ
ผู้ใช้สามารถดำเนินการเดียวกันนี้ใน Chrome บนเดสก์ท็อปได้โดยไปที่
chrome://settings/content/federatedIdentityApi
ระยะเวลาพักของพรอมต์
หากผู้ใช้ปิด UI ด้วยตนเอง ระบบจะเพิ่มรายการลงใน UI การตั้งค่าชั่วคราว และ UI จะไม่แสดงในเว็บไซต์เดียวกันเป็นระยะเวลาหนึ่ง UI จะเปิดใช้อีกครั้งหลังจากช่วงเวลาดังกล่าว แต่ระยะเวลาจะขยายเป็นทวีคูณเมื่อปิดติดต่อกัน เช่น ใน Chrome
ปิดติดต่อกันหลายครั้ง | ระยะเวลาที่ระบบระงับข้อความแจ้งของ FedCM |
---|---|
1 | 2 ชั่วโมง |
2 | หนึ่งวัน |
3 | 1 สัปดาห์ |
4+ | 4 สัปดาห์ |
เบราว์เซอร์อื่นๆ อาจกำหนดระยะเวลาพักที่แตกต่างกัน
ผู้ใช้สามารถเปิดใช้ FedCM ใน RP อีกครั้งด้วยตนเองโดยไปที่หน้าการตั้งค่า หรือคลิก UI ของ PageInfo (ไอคอนแม่กุญแจข้างแถบ URL) แล้วรีเซ็ตสิทธิ์
แผนการใช้งาน
เรากําลังทําการเปลี่ยนแปลงหลายรายการใน FedCM ดูรายละเอียดเพิ่มเติมได้ในส่วนอัปเดต
- บันทึกการเปลี่ยนแปลง: การอัปเดต Federated Credential Management API
เราทราบดีว่ายังมีบางสิ่งที่ต้องทำ รวมถึงปัญหาที่เราได้ยินจากผู้ให้บริการ IdP, RP และเบราว์เซอร์ เราเชื่อว่าเราทราบถึงวิธีแก้ไขปัญหาเหล่านี้
- การรองรับ iframe ข้ามแหล่งที่มา: IdP สามารถเรียกใช้ FedCM จากภายใน iframe ข้ามแหล่งที่มา (อัปเดต)
- ปุ่มที่ปรับเปลี่ยนในแบบของคุณ: IdP สามารถแสดงข้อมูลประจำตัวของผู้ใช้ที่กลับมาในปุ่มลงชื่อเข้าใช้จากภายใน iframe ข้ามแหล่งที่มาที่เป็นของ IdP (อัปเดต)
- ปลายทางของเมตริก: แสดงเมตริกประสิทธิภาพแก่ IdP
นอกจากนี้ เรายังพยายามหาวิธีแก้ปัญหาที่ยังไม่ได้รับการแก้ไขอยู่อย่างต่อเนื่อง รวมถึงข้อเสนอที่เฉพาะเจาะจงซึ่งเรากำลังประเมินหรือสร้างต้นแบบอยู่
- CORS: เรากำลังหารือกับ Apple และ Mozilla เพื่อให้แน่ใจว่าจะปรับปรุงข้อกำหนดการดึงข้อมูล FedCM ได้
- API สำหรับ IdP หลายรายการ: เรากําลังหาวิธีรองรับIdP หลายรายการให้ทํางานร่วมกันในเครื่องมือเลือกบัญชี FedCM
- API สถานะการลงชื่อเข้าใช้ IdP: Mozilla พบปัญหาการโจมตีตามลำดับเวลา และเรากำลังหาวิธีให้ IdP แจ้งสถานะการลงชื่อเข้าใช้ของผู้ใช้ให้เบราว์เซอร์ทราบเพื่อบรรเทาปัญหา (อัปเดต)
- ลงชื่อเข้าใช้ IdP API: เพื่อรองรับสถานการณ์ต่างๆ เมื่อผู้ใช้ไม่ได้ลงชื่อเข้าใช้ IdP เบราว์เซอร์จะแสดง UI ให้ผู้ใช้ลงชื่อเข้าใช้โดยไม่ต้องออกจาก RP
สุดท้ายนี้ ยังมีสิ่งที่เราเชื่อว่ายังต้องดำเนินการอยู่ โดยอิงตามความคิดเห็นจาก Mozilla, Apple และผู้ตรวจสอบของ TAG เรากําลังประเมินวิธีแก้ปัญหาที่ดีที่สุดสําหรับคําถามที่ยังไม่ได้รับการตอบเหล่านี้
- การปรับปรุงความเข้าใจของผู้ใช้และความตั้งใจที่ตรงกัน: ตามที่ประกาศจาก Mozilla เราต้องการสำรวจสูตร UX และพื้นที่ผิวต่างๆ ตลอดจนเกณฑ์การทริกเกอร์ต่อไป
- แอตทริบิวต์ของข้อมูลระบุตัวตนและการเปิดเผยข้อมูลแบบเลือก: ตามที่ผู้ตรวจสอบ TAG ได้ระบุไว้ เราต้องการมอบกลไกในการแชร์แอตทริบิวต์ของข้อมูลระบุตัวตน (เช่น อีเมล ช่วงอายุ หมายเลขโทรศัพท์ และอื่นๆ) มากขึ้นหรือน้อยลงแบบเลือกได้
- การยกระดับพร็อพเพอร์ตี้ความเป็นส่วนตัว: ตามคำแนะนำของ Mozillaในจุดยืนด้านมาตรฐาน เราต้องการสำรวจกลไกต่างๆ ต่อไปเพื่อมอบการรับประกันความเป็นส่วนตัวที่ดียิ่งขึ้น เช่น การเปิด/ปิดใช้ IdP, ตัวระบุที่กําหนดเป้าหมาย
- ความสัมพันธ์กับ WebAuthn: ตามที่ Apple แนะนำ เราตื่นเต้นเป็นอย่างยิ่งที่จะได้เห็นความคืบหน้าของพาสคีย์ รวมถึงมอบประสบการณ์การใช้งานที่สอดคล้องกันและสอดคล้องกันระหว่าง FedCM, รหัสผ่าน, WebAuthn และ WebOTP
- สถานะการเข้าสู่ระบบ: เราเห็นด้วยกับคำแนะนำของ Apple ในAPI สถานะการเข้าสู่ระบบของ CG ความเป็นส่วนตัวที่ว่าสถานะการเข้าสู่ระบบของผู้ใช้เป็นข้อมูลเล็กๆ น้อยๆ ที่เป็นประโยชน์ซึ่งช่วยให้เบราว์เซอร์ตัดสินใจได้อย่างมีข้อมูล และเราหวังว่าจะได้เห็นโอกาสใหม่ๆ ที่เกิดขึ้นจากสถานะดังกล่าว (อัปเดต)
- องค์กรและการศึกษา: อย่างที่แน่ชัดสำหรับ FedID CG ว่ายังมีกรณีการใช้งานมากมายที่ FedCM ยังไม่ได้ให้บริการที่ดีนัก เช่น การออกจากระบบแบบช่องหน้า (การที่ IdP สามารถส่งสัญญาณให้ RP ออกจากระบบ) และการรองรับ SAML
- ความสัมพันธ์กับ mDL/VC/อื่นๆ: พยายามทำความเข้าใจว่าสิ่งเหล่านี้ทำงานร่วมกับ FedCM อย่างไร เช่น Mobile Document Request API
ใช้ FedCM API
คุณต้องมีบริบทที่ปลอดภัย (HTTPS หรือ localhost) ทั้งบน IdP และ RP ใน Chrome เพื่อใช้ FedCM
หากต้องการผสานรวมกับ FedCM คุณต้องสร้างไฟล์ ไฟล์การกำหนดค่า และปลายทางที่รู้จักกันดีสำหรับรายการบัญชี การออกการยืนยัน และข้อมูลเมตาไคลเอ็นต์ (ไม่บังคับ) จากนั้น FedCM จะแสดง JavaScript API ที่ RP สามารถใช้เพื่อลงชื่อเข้าใช้ด้วย IdP
ดูวิธีใช้ FedCM API ได้ที่คู่มือนักพัฒนาซอฟต์แวร์ FedCM
มีส่วนร่วมและแชร์ความคิดเห็น
- GitHub: อ่านคำอธิบาย แจ้งปัญหา และติดตามการพูดคุย
- การสนับสนุนนักพัฒนาซอฟต์แวร์: ถามคําถามและเข้าร่วมการสนทนาในที่เก็บการสนับสนุนนักพัฒนาซอฟต์แวร์ Privacy Sandbox
การปฏิบัติตามกฎหมายว่าด้วยความเป็นส่วนตัวทางอิเล็กทรอนิกส์
การใช้ FedCM ไม่ว่าจะเป็น IdP หรือ RP นั้นเกี่ยวข้องกับการจัดเก็บข้อมูลในอุปกรณ์ปลายทางของผู้ใช้หรือการเข้าถึงข้อมูลที่จัดเก็บไว้ในนั้นแล้ว และจึงเป็นกิจกรรมภายใต้กฎหมาย ePrivacy ในเขตเศรษฐกิจยุโรป (EEA) และสหราชอาณาจักรโดยทั่วไปที่กำหนดให้ผู้ใช้ต้องให้ความยินยอม คุณมีหน้าที่รับผิดชอบในการพิจารณาว่าการใช้ FedCM ของคุณจําเป็นอย่างยิ่งในการให้บริการออนไลน์ที่ผู้ใช้ร้องขออย่างชัดเจนหรือไม่ และด้วยเหตุนี้จึงได้รับการยกเว้นจากข้อกําหนดความยินยอม หากต้องการข้อมูลเพิ่มเติม เราขอแนะนำให้คุณอ่านคำถามที่พบบ่อยเกี่ยวกับการปฏิบัติตามข้อกำหนดด้านความเป็นส่วนตัวใน Privacy Sandbox