ขอแนะนําการอัปเดตบางอย่างเกี่ยวกับ FedCM รวมถึงการทดลองใช้ต้นทางใหม่สําหรับการตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติ
Federated Credential Management API (FedCM) เป็น Web API สําหรับการรวมข้อมูลระบุตัวตนที่รักษาความเป็นส่วนตัว เมื่อใช้การรวมข้อมูลประจำตัว RP (บุคคลที่เชื่อถือ) จะอาศัย IdP (ผู้ให้บริการข้อมูลประจำตัว) เพื่อสร้างบัญชีให้ผู้ใช้โดยไม่ต้องใช้ชื่อผู้ใช้และรหัสผ่านใหม่
FedCM เป็น API ที่สร้างขึ้นเพื่อวัตถุประสงค์เฉพาะ ซึ่งช่วยให้เบราว์เซอร์เข้าใจบริบทที่ RP และ IdP แลกเปลี่ยนข้อมูล แจ้งให้ผู้ใช้ทราบถึงข้อมูลและระดับสิทธิ์ที่แชร์ และป้องกันการละเมิดโดยไม่ตั้งใจ
อัปเดต
ข้อมูลอัปเดตเกี่ยวกับการนำ FedCM มาใช้ใน Chrome มีดังนี้
- สําหรับปลายทางการยืนยันรหัส IdP ต้องตรวจสอบส่วนหัว
Origin(แทนที่จะเป็นส่วนหัวReferer) เพื่อดูว่าค่าตรงกับต้นทางของรหัสไคลเอ็นต์หรือไม่ - เพิ่มFlag ของ Chrome รายการใหม่
chrome://flags/#fedcm-without-third-party-cookiesFlag นี้จะช่วยให้คุณทดสอบฟังก์ชันการทำงานของ FedCM ใน Chrome โดยการบล็อกคุกกี้ของบุคคลที่สามได้
ดูข้อมูลอัปเดตทั้งหมดที่ผ่านมาของ API ได้ที่การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์ การอัปเดต API
FedCM เวอร์ชันล่าสุดมีฟีเจอร์การตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติใหม่ ซึ่งจะตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยอัตโนมัติเมื่อผู้ใช้กลับมาหลังจากการตรวจสอบสิทธิ์ครั้งแรกโดยใช้ FedCM การตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติพร้อมใช้งานเป็นช่วงทดลองใช้จากต้นทางตั้งแต่ Chrome 112 เป็นต้นไป
การตรวจสอบสิทธิ์ใหม่อัตโนมัติ
ปัจจุบันหลังจากที่ผู้ใช้สร้างบัญชีที่รวมศูนย์ใน RP ด้วย IdP ผ่าน FedCM แล้ว ครั้งถัดไปที่เข้าชมเว็บไซต์ ผู้ใช้จะต้องทำตามขั้นตอนเดียวกันในอินเทอร์เฟซผู้ใช้ กล่าวคือ ผู้ใช้ต้องยืนยันและตรวจสอบสิทธิ์อีกครั้งอย่างชัดเจนเพื่อดำเนินการตามขั้นตอนการลงชื่อเข้าใช้ เนื่องจากเป้าหมายหลักประการหนึ่งของ FedCM คือการป้องกันการติดตามที่ไม่เปิดเผย ประสบการณ์ของผู้ใช้ (UX) นี้จะเหมาะสมก่อนที่ผู้ใช้จะสร้างบัญชีที่รวมศูนย์ แต่จะไม่จำเป็นและยุ่งยากหลังจากที่ผู้ใช้ดำเนินการนี้ไปแล้ว 1 ครั้ง หลังจากที่ผู้ใช้ให้สิทธิ์ในการอนุญาตให้มีการติดต่อสื่อสารระหว่าง RP กับ IdP แล้ว จะไม่มีประโยชน์ด้านความเป็นส่วนตัวหรือความปลอดภัยในการบังคับใช้การยืนยันจากผู้ใช้อย่างชัดแจ้งอีกสำหรับสิ่งที่ผู้ใช้ได้ยอมรับไปแล้วก่อนหน้านี้ ด้วยเหตุนี้ Chrome จึงเปิดตัว UX ที่มีประสิทธิภาพมากขึ้นซึ่ง RP สามารถเลือกให้ผู้ใช้ที่กลับมาได้
การตรวจสอบสิทธิ์ด้วย FedCM อีกครั้งโดยอัตโนมัติ (หรือเรียกสั้นๆ ว่า "การตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติ") จะตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยอัตโนมัติ (เมื่อ 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 อีกครั้งโดยอัตโนมัติในเครื่องได้โดยการเปิดFlag ของ 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
รูปภาพโดย Alex Perz จาก Unsplash