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