API ของเว็บสำหรับการรวมศูนย์ข้อมูลประจำตัวที่รักษาความเป็นส่วนตัว
FedCM คืออะไร
FedCM (Federated Credential Management) เป็นโหมดการรักษาความเป็นส่วนตัว เข้าสู่บริการระบุตัวตนแบบรวมศูนย์ (เช่น "ลงชื่อเข้าใช้ด้วย...") ผู้ใช้สามารถลงชื่อเข้าใช้เว็บไซต์โดยไม่ต้องแชร์ข้อมูลส่วนบุคคลกับ หรือบริการระบุตัวตนหรือเว็บไซต์
สถานะการใช้งาน
- สถานะ Chrome Platform
- FedCM จัดส่งใน Chrome 108
- ข้อเสนอของ FedCM เปิดอยู่สำหรับการอภิปรายสาธารณะ
- เบราว์เซอร์อื่นยังไม่รองรับ FedCM
- Mozilla กำลังใช้ต้นแบบ สำหรับ Firefox และ Apple ได้แสดงการสนับสนุนทั่วไป และแสดงความสนใจที่จะทำงานร่วมกันตามข้อเสนอของ FedCM
นับจากนี้ไป เรามีแผนที่จะเปิดตัวฟีเจอร์ใหม่จำนวนหนึ่ง โดยอิงจาก ความคิดเห็นที่เราได้รับจากผู้ให้บริการข้อมูลประจำตัว (IdP) จากฝ่ายต่างๆ (RP) และผู้ให้บริการเบราว์เซอร์ แม้ว่าเราหวังว่าผู้ให้บริการข้อมูลประจำตัวจะนำ FedCM มาใช้งาน แต่โปรดทราบว่า ว่า FedCM ยังคงเป็น API ที่อยู่ระหว่างการพัฒนา
เพื่อลดอุปสรรคในการใช้การเปลี่ยนแปลงที่เข้ากันไม่ได้แบบย้อนหลัง เรามีคำแนะนำ 2 ข้อสำหรับผู้ให้บริการข้อมูลประจำตัว ดังนี้
- สมัครรับข้อมูล จดหมายข่าวของเรา จะส่งการอัปเดตเมื่อ API มีการพัฒนา
- เราสนับสนุนให้ IdP เผยแพร่ FedCM API โดยใช้ JavaScript SDK ในขณะที่ API กำลังเติบโตและไม่สนับสนุนให้ RP ไม่ใช้ SDK แบบโฮสต์ด้วยตนเอง การดำเนินการนี้จะ ตรวจสอบว่า IdP ทําการเปลี่ยนแปลงได้ในขณะที่ API ค่อยๆ พัฒนาขึ้น โดยไม่ต้องถาม ผู้ที่พึ่งพาตนในการทำให้ใช้งานได้อีกครั้ง
เหตุใดเราจึงต้องมี FedCM
ในช่วงทศวรรษที่ผ่านมา การรวมศูนย์ข้อมูลประจำตัวมีบทบาทสำคัญในการยกระดับ แถบสำหรับการตรวจสอบสิทธิ์บนเว็บในแง่ของความน่าเชื่อถือและใช้งานง่าย (เช่น การลงชื่อเข้าใช้แบบครั้งเดียวแบบไม่ต้องใช้รหัสผ่าน) และการรักษาความปลอดภัย (เช่น ปรับปรุง การต่อต้านการโจมตีแบบฟิชชิงและการสวมข้อมูลเข้าสู่ระบบ) เทียบกับแบบต่อเว็บไซต์ ชื่อผู้ใช้และรหัสผ่าน
เมื่อใช้การรวมศูนย์ข้อมูลประจำตัว RP (ฝ่ายที่พึ่งพา) จะใช้ IdP (ข้อมูลประจําตัว) provider) เพื่อมอบบัญชีให้กับผู้ใช้ได้โดยไม่ต้องมีชื่อผู้ใช้ใหม่ และรหัสผ่าน
กลไกของการรวมศูนย์ข้อมูลประจำตัว (iframe, การเปลี่ยนเส้นทางและคุกกี้) กำลังมีการใช้อย่างไม่เหมาะสมเพื่อติดตามผู้ใช้ทั่วทั้งอินเทอร์เน็ต เนื่องจาก User Agent ไม่สามารถแยกความแตกต่างระหว่างการรวมศูนย์ข้อมูลประจำตัวกับ การติดตาม การลดการละเมิดประเภทต่างๆ ทำให้ สร้างการรวมศูนย์ข้อมูลประจำตัวได้ยากขึ้น
Federated Credential Management API (FedCM) ระบุกรณีการใช้งานที่เฉพาะกรณี Abstraction สำหรับโฟลว์ข้อมูลประจำตัวแบบรวมศูนย์บนเว็บ โดยการแสดงเบราว์เซอร์ กล่องโต้ตอบที่ใช้สื่อกลางซึ่งอนุญาตให้ผู้ใช้เลือกบัญชีจาก IdP เพื่อเข้าสู่ระบบ เว็บไซต์
FedCM เป็นเส้นทางหลายขั้นตอนเพื่อทำให้ข้อมูลประจำตัวในเว็บดีขึ้น ใน ในขั้นแรก เรามุ่งเน้นการลดผลกระทบของการจำกัดคุกกี้ของบุคคลที่สาม เกี่ยวกับข้อมูลประจำตัวแบบรวมศูนย์ (ดู 2-3 ขั้นตอนในส่วนแผนกลยุทธ์ ต่อไป)
สิ่งที่เราคาดว่าจะได้รับผลกระทบ
ผ่าน community ความพยายาม และการค้นคว้าของเรา เราพบว่ามีสมาพันธ์อัตลักษณ์ 2-3 แห่งที่เกี่ยวข้องกับ การผสานรวมที่ได้รับผลกระทบจากข้อจำกัดของคุกกี้ของบุคคลที่สาม
- OpenID Connect Front-Channel ออกจากระบบ
- เซสชันการเชื่อมต่อ OpenID การจัดการ
- โทเค็นพื้นหลังที่ใช้ iframe การต่ออายุ
- การเข้าสู่ระบบโดยใช้ iframe วิดเจ็ต
เป้าหมายแรกของ FedCM คือการลดผลกระทบจากข้อจำกัดเกี่ยวกับคุกกี้ของบุคคลที่สามใน การรวมศูนย์ข้อมูลประจำตัว ซึ่งเป็นเรื่องที่เราคาดว่าจะได้รับผลกระทบ ถ้า มีกรณีการใช้งานอื่นๆ ที่ไม่ได้ระบุไว้ คุณสามารถมีส่วนร่วมและแชร์ความคิดเห็นได้
ใครควรใช้ 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 ได้ ไปที่ การตั้งค่า > การตั้งค่าเว็บไซต์ > การลงชื่อเข้าใช้ของบุคคลที่สาม จากนั้นเปลี่ยน เปิด/ปิด
![เปิดใช้ FedCM ในการตั้งค่า Chrome บนอุปกรณ์เคลื่อนที่ด้วยการสลับการลงชื่อเข้าใช้ของบุคคลที่สาม](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=0000&hl=th)
ดำเนินการแบบเดียวกันกับ Chrome บนเดสก์ท็อปได้โดยไปที่
chrome://settings/content/federatedIdentityApi
![เปิดใช้ FedCM ในการตั้งค่า Chrome บนเดสก์ท็อปโดยการสลับในการลงชื่อเข้าใช้ของบุคคลที่สาม](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=0000&hl=th)
แผนการใช้งาน
เรากำลังดำเนินการเพื่อทำการเปลี่ยนแปลงหลายอย่างกับ FedCM โปรดดู อัปเดตเพื่อดูรายละเอียดเพิ่มเติม
- บันทึกการเปลี่ยนแปลง: การอัปเดต API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์
มี 2-3 สิ่งที่เรารู้ว่ายังคงต้องดำเนินการอยู่ ซึ่งรวมถึงปัญหาที่เรา ข้อมูลที่ได้จาก IdP, RP และผู้ให้บริการเบราว์เซอร์ เราเชื่อว่าเรารู้วิธี แก้ไขปัญหาเหล่านี้
- การรองรับ iframe แบบข้ามต้นทาง: IdP สามารถเรียกใช้ FedCM จากภายใน iframe แบบข้ามต้นทาง (อัปเดต)
- ปุ่มที่ปรับเปลี่ยนในแบบของคุณ: IdP สามารถแสดงข้อมูลประจำตัวของผู้ใช้ที่กลับมาใน ปุ่มลงชื่อเข้าใช้จากภายใน iframe แบบข้ามต้นทางที่ IdP เป็นเจ้าของ (อัปเดต)
- ปลายทางของเมตริก: แสดงเมตริกประสิทธิภาพแก่ IdP
เรายังมีปัญหาที่ยังไม่ได้แก้ไขที่เรากำลังดำเนินการสำรวจ ซึ่งได้แก่ ที่เรากำลังประเมินหรือสร้างต้นแบบ
- CORS เรากำลังหารือกับ Apple และ Mozilla เพื่อให้แน่ใจว่าได้ปรับปรุง ข้อมูลจำเพาะของการดึงข้อมูล FedCM
- Multi-IdP API: เรากำลังสำรวจวิธีรองรับการใช้งาน IdP ที่จะทํางานร่วมกันใน ตัวเลือกบัญชี FedCM
- IdP Sign-In Status API: Mozilla ได้ตรวจพบการโจมตีในเวลาปิด และเรากำลังสำรวจวิธีต่างๆ สำหรับ IdP ให้แจ้งเตือนเบราว์เซอร์ในการลงชื่อเข้าใช้ของผู้ใช้ สถานะเป็น ลดปัญหา (อัปเดต)
- ลงชื่อเข้าใช้ IdP API: เพื่อให้การสนับสนุนต่างๆ ในสถานการณ์เมื่อผู้ใช้ไม่ได้ เมื่อลงชื่อเข้าใช้ IdP เบราว์เซอร์จะมี UI เพื่อให้ผู้ใช้ลงชื่อเข้าใช้ โดยไม่ต้องออกจาก RP
สุดท้ายนี้ เรายังมีสิ่งที่เราเชื่อว่ายังต้องดำเนินการอยู่ โดยอิงตามความคิดเห็น จาก Mozilla Apple และ TAG ผู้ตรวจสอบ เรากำลังพยายามประเมินโซลูชันที่ดีที่สุดสำหรับคำถามแบบเปิดเหล่านี้
- การปรับปรุงความเข้าใจของผู้ใช้และความตั้งใจที่ตรงกัน: อย่างที่ Mozilla เราอยากจะสำรวจสูตรและลักษณะของ UX ต่างๆ ต่อไป รวมทั้งเกณฑ์ในการเรียกให้แสดง
- แอตทริบิวต์อัตลักษณ์และการเปิดเผยแบบเลือกส่วน: ในฐานะผู้ตรวจสอบแท็ก เราต้องการให้มีกลไกในการเลือกแชร์ข้อมูลประจำตัวมากขึ้นหรือน้อยลง (เช่น อีเมล กลุ่มอายุ หมายเลขโทรศัพท์ เป็นต้น)
- การเพิ่มพร็อพเพอร์ตี้ด้านความเป็นส่วนตัว: ตามที่ Mozilla แนะนำ ในตำแหน่งมาตรฐาน เราปรารถนาที่จะสำรวจกลไกต่างๆ ต่อไป เพื่อนำเสนอความเป็นส่วนตัวที่ดียิ่งขึ้น การรับประกัน เช่น การปิดบัง IdP, ตัวระบุที่มีการกำหนดทิศทาง
- ความสัมพันธ์กับ WebAuthn: ตามที่แนะนำโดย Apple เราตื่นเต้นมากที่จะได้เห็นความคืบหน้า พาสคีย์ และพยายามทำให้เป็น หรือ ประสบการณ์ที่สอดคล้องกันระหว่าง FedCM, รหัสผ่าน, WebAuthn และ WebOTP
- สถานะการเข้าสู่ระบบ: ตามที่ Apple แนะนำด้วยสถานะการเข้าสู่ระบบของ CG ด้านความเป็นส่วนตัว API เราแชร์สัญชาติญาณที่ว่า สถานะการเข้าสู่ระบบของผู้ใช้เป็นข้อมูลที่มีประโยชน์ที่ช่วยให้เบราว์เซอร์ ตัดสินใจโดยมีข้อมูลรอบด้าน และเราตื่นเต้นที่จะได้เห็นโอกาสต่างๆ ที่เกิดขึ้น จากสิ่งนั้น (อัปเดต)
- องค์กรและการศึกษา: อย่างที่ FedID CG เห็นแล้วว่ายังคง การใช้งานจำนวนมาก เคส ที่ใช้กับ FedCM ได้ไม่ดีนัก เช่น การออกจากระบบจาก Front-channel (ความสามารถของ IdP ในการส่งสัญญาณไปยัง RP ไปยัง logout) และรองรับ SAML
- ความสัมพันธ์กับใบขับขี่ดิจิทัล/VC/ฯลฯ: พยายามต่อไปเพื่อทำความเข้าใจวิธี พอดีกับ FedCM ตัวอย่างเช่น เมื่อมีคำขอเอกสารสำหรับมือถือ API
ใช้ FedCM API
คุณต้องมีบริบทที่ปลอดภัย (HTTPS หรือ localhost) ทั้งบน IdP และ RP ใน Chrome จึงจะใช้ FedCM ได้
หากต้องการผสานรวมกับ FedCM คุณต้องสร้างไฟล์ ไฟล์การกำหนดค่า และปลายทางที่รู้จักกันดีสำหรับรายการบัญชี การออกการยืนยัน และข้อมูลเมตาไคลเอ็นต์ (ไม่บังคับ) จากนั้น FedCM จะแสดง JavaScript API ที่ RP ใช้เพื่อลงชื่อเข้าใช้ด้วย IdP ได้
หากต้องการเรียนรู้วิธีใช้ FedCM API โปรดดูคู่มือนักพัฒนาซอฟต์แวร์ FedCM
มีส่วนร่วมและแชร์ความคิดเห็น
- GitHub: อ่าน อธิบาย เพิ่ม ปัญหาและติดตามการสนทนา
- การสนับสนุนนักพัฒนาแอป: ถามคำถามและเข้าร่วมการสนทนาในความเป็นส่วนตัว การสนับสนุนนักพัฒนาแซนด์บ็อกซ์ ที่เก็บ
การปฏิบัติตามกฎหมาย ePrivacy
การใช้ FedCM ไม่ว่าจะเป็น IdP หรือ RP นั้นเกี่ยวข้องกับการจัดเก็บข้อมูลใน อุปกรณ์ปลายทางของผู้ใช้ หรือการเข้าถึงข้อมูลที่จัดเก็บไว้ในนั้นแล้ว และ จึงเป็นกิจกรรมที่อยู่ภายใต้กฎหมาย ePrivacy ในเขตเศรษฐกิจยุโรป (EEA) และสหราชอาณาจักรโดยทั่วไปต้องได้รับความยินยอมจากผู้ใช้ คุณมีหน้าที่รับผิดชอบในการ ให้พิจารณาว่าการใช้ FedCM ของคุณจำเป็นมากในการให้ ออนไลน์ตามคำขออย่างชัดแจ้งจากผู้ใช้ และได้รับการยกเว้นจาก ข้อกำหนดการขอความยินยอม เราแนะนําให้คุณอ่าน "ความเป็นส่วนตัว" เพื่อดูข้อมูลเพิ่มเติม การปฏิบัติตามข้อกำหนดเกี่ยวกับความเป็นส่วนตัวของแซนด์บ็อกซ์ คำถามที่พบบ่อย