ขอแนะนำการอัปเดตบางอย่างใน FedCM รวมถึงช่วงทดลองใช้จากต้นทางใหม่สำหรับการตรวจสอบสิทธิ์ซ้ำโดยอัตโนมัติ
Federated Credential Management API (FedCM) คือ Web API สำหรับการรวมศูนย์การรักษาความเป็นส่วนตัว การรวมศูนย์ข้อมูลประจำตัวทำให้ RP (ฝ่ายที่ต้องพึ่งพา) จะใช้ IdP (ผู้ให้บริการข้อมูลประจำตัว) เพื่อมอบบัญชีให้ผู้ใช้โดยไม่ต้องมีชื่อผู้ใช้และรหัสผ่านใหม่
FedCM เป็น API ที่สร้างขึ้นเฉพาะวัตถุประสงค์ซึ่งช่วยให้เบราว์เซอร์เข้าใจบริบทของการแลกเปลี่ยนข้อมูล RP และ IdP รวมถึงแจ้งให้ผู้ใช้ทราบเรื่องระดับข้อมูลและสิทธิ์ที่แชร์ รวมทั้งป้องกันการละเมิดโดยไม่ตั้งใจ
การอัปเดต
มีการอัปเดตการติดตั้งใช้งาน FedCM ของ Chrome บางประการ:
- สำหรับปลายทางการยืนยันรหัส IdP จะต้องตรวจสอบส่วนหัว
Origin
(แทนส่วนหัวReferer
) เพื่อดูว่าค่าตรงกับต้นทางของรหัสไคลเอ็นต์หรือไม่ - เพิ่ม Chrome Flag
chrome://flags/#fedcm-without-third-party-cookies
ใหม่แล้ว ด้วยแฟล็กนี้ คุณสามารถทดสอบฟังก์ชันการทำงานของ FedCM ใน Chrome ได้ด้วยการบล็อกคุกกี้ของบุคคลที่สาม
หากต้องการดูการอัปเดตที่ผ่านมาทั้งหมดของ API โปรดดูการอัปเดต API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์
FedCM เวอร์ชันล่าสุดประกอบด้วยฟีเจอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติแบบใหม่ ซึ่งช่วยให้ผู้ใช้ตรวจสอบสิทธิ์ซ้ำได้โดยอัตโนมัติเมื่อผู้ใช้กลับมาตรวจสอบสิทธิ์ครั้งแรกโดยใช้ FedCM การตรวจสอบสิทธิ์ซ้ำอัตโนมัติมีให้บริการเป็นช่วงทดลองใช้จากต้นทางที่เริ่มตั้งแต่ Chrome 112 เป็นต้นไป
การตรวจสอบสิทธิ์ซ้ำอัตโนมัติ
ในปัจจุบัน หลังจากที่สร้างบัญชีแบบรวมศูนย์บน RP ด้วย IdP ผ่าน FedCM ผู้ใช้จะต้องทำตามขั้นตอนเดียวกันในอินเทอร์เฟซผู้ใช้ในครั้งถัดไป นั่นคือ ผู้ใช้ต้องยืนยันและตรวจสอบสิทธิ์อีกครั้งอย่างชัดเจนเพื่อดำเนินการตามขั้นตอนการลงชื่อเข้าใช้ เป้าหมายสำคัญอย่างหนึ่งของ FedCM คือการป้องกันการติดตามโดยไม่เปิดเผย ประสบการณ์ของผู้ใช้ (UX) นี้จึงเหมาะสมก่อนที่ผู้ใช้จะสร้างบัญชีแบบรวมศูนย์ แต่จะกลายเป็นเรื่องไม่จำเป็นและยุ่งยากหลังจากที่ผู้ใช้ดำเนินการมาแล้ว 1 ครั้ง หลังจากที่ผู้ใช้ให้สิทธิ์อนุญาตการสื่อสารระหว่าง RP กับ IdP แล้ว การบังคับใช้ให้ยืนยันผู้ใช้รายอื่นอย่างชัดแจ้งนั้นในสิ่งที่ผู้ใช้เคยรับทราบไปแล้วจะไม่ได้รับประโยชน์ด้านความเป็นส่วนตัวหรือความปลอดภัย Chrome จึงขอแนะนำ UX ที่มีประสิทธิภาพมากขึ้นซึ่ง RP สามารถเลือกให้กับผู้ใช้ที่กลับมาได้
การตรวจสอบสิทธิ์ซ้ำโดยอัตโนมัติของ FedCM (เรียกสั้นๆ ว่า "auto-reauthn") จะตรวจสอบสิทธิ์ผู้ใช้ซ้ำโดยอัตโนมัติ (เมื่อ RP เลือกใช้) เมื่อผู้ใช้กลับมาตรวจสอบสิทธิ์ครั้งแรกโดยใช้ FedCM "การตรวจสอบสิทธิ์ครั้งแรก" ในที่นี้หมายความว่าผู้ใช้จะสร้างบัญชีหรือลงชื่อเข้าใช้เว็บไซต์ของ RP โดยการแตะปุ่ม "ดำเนินการต่อในชื่อ..." บนกล่องโต้ตอบการลงชื่อเข้าใช้ของ FedCM เป็นครั้งแรกในอินสแตนซ์ของเบราว์เซอร์เดียวกัน
RP สามารถขอให้ตรวจสอบสิทธิ์ใหม่โดยอัตโนมัติโดยโทรหา navigator.credentials.get()
ด้วย autoReauthn: true
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
// NOTE: We are exploring different API options to expose this
// functionality here:
// https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
// You should expect that, as a result of the origin trial, we'll
// learn more from developers and browser vendors what works best here.
autoReauthn: true, // default to false
},
});
ในการเรียกนี้ การตรวจสอบสิทธิ์ซ้ำอัตโนมัติจะเกิดขึ้นภายใต้เงื่อนไขต่อไปนี้
- FedCM ก็พร้อมให้ใช้งาน ตัวอย่างเช่น ผู้ใช้ไม่ได้ปิดใช้ FedCM ทั่วโลกหรือสำหรับ RP
- ผู้ใช้ใช้บัญชี FedCM เพียงบัญชีเดียวในการลงชื่อเข้าใช้เว็บไซต์ในเบราว์เซอร์นี้
- ผู้ใช้ลงชื่อเข้าใช้ IdP ด้วยบัญชีนั้น
- การตรวจสอบสิทธิ์ซ้ำอัตโนมัติไม่ได้เกิดขึ้นภายใน 10 นาทีที่ผ่านมา
เมื่อมีคุณสมบัติตรงตามเงื่อนไขข้างต้น ระบบจะพยายามตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยอัตโนมัติทันทีที่มีการเรียกใช้ FedCM navigator.credentials.get()
ลองเลย
คุณจะลองใช้การตรวจสอบสิทธิ์ซ้ำอัตโนมัติของ FedCM ในเครื่องได้โดยเปิดธง Chrome chrome://flags#fedcm-auto-re-authn
ใน Chrome 112 ขึ้นไป
คุณรีเซ็ตช่วงเวลาเงียบ 10 นาทีในการทดสอบได้โดยนำข้อมูลเบราว์เซอร์ออก
- นำทางไปยัง
chrome://history
- ในช่องประวัติการค้นหา ให้ป้อนที่มาของ RP
- คลิกไอคอน 3 จุด ⋮ และเลือกนำออกจากประวัติ
- รีสตาร์ท Chrome
เข้าร่วมช่วงทดลองใช้จากต้นทาง
คุณยังเปิดใช้ฟีเจอร์ในเว็บไซต์โดยเข้าร่วมช่วงทดลองใช้จากต้นทางของบุคคลที่สามที่มีให้ใช้งานจาก Chrome 112 ถึง Chrome 114 ได้ด้วย
ช่วงทดลองใช้จากต้นทางช่วยให้คุณได้ลองใช้ฟีเจอร์ใหม่ๆ และแสดงความคิดเห็นเกี่ยวกับการใช้งาน การใช้งานจริง และประสิทธิภาพต่อชุมชนมาตรฐานเว็บ ดูข้อมูลเพิ่มเติมได้ที่คู่มือช่วงทดลองใช้จากต้นทางสำหรับนักพัฒนาเว็บ หากต้องการลงชื่อสมัครช่วงทดลองใช้จากต้นทางนี้หรือช่วงทดลองใช้อื่น โปรดไปที่หน้าการลงทะเบียน
หากต้องการลงทะเบียนสำหรับช่วงทดลองใช้จากต้นทางของบุคคลที่สาม และเปิดใช้งานฟีเจอร์นี้ในบุคคลที่สาม ให้ทำดังนี้
- ไปที่หน้าการลงทะเบียนทดลองใช้ต้นทาง
- คลิกปุ่มลงทะเบียนและกรอกแบบฟอร์มเพื่อขอโทเค็น
- ป้อนต้นทางการแสดงผลเป็นต้นทางเว็บ
- เลือกการจับคู่ของบุคคลที่สามเพื่อแทรกโทเค็นกับ JavaScript ในต้นทางอื่นๆ
- คลิกส่ง
- ฝังโทเค็นที่ออกในบุคคลที่สาม
หากต้องการฝังโทเค็นลงในบุคคลที่สาม ให้เพิ่มโค้ดต่อไปนี้ลงในไลบรารี JavaScript หรือ SDK ที่แสดงจากต้นทางของเว็บไซต์ที่ลงทะเบียน
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);
แทนที่ TOKEN_GOES_HERE
ด้วยโทเค็นของคุณเอง
มีส่วนร่วมและแชร์ความคิดเห็น
หากมีความคิดเห็นหรือพบปัญหาในระหว่างการทดสอบ ก็แชร์ความคิดเห็นได้ที่ crbug.com ในส่วนBlink>Identity>FedCM