ข้อมูลอัปเดตจาก FedCM: ช่วงทดลองใช้จากต้นทางสำหรับการตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติ

ขอแนะนำการอัปเดตบางอย่างใน FedCM รวมถึงช่วงทดลองใช้จากต้นทางใหม่สำหรับการตรวจสอบสิทธิ์ซ้ำโดยอัตโนมัติ

Federated Credential Management API (FedCM) คือ Web API สำหรับการรวมศูนย์การรักษาความเป็นส่วนตัว การรวมศูนย์ข้อมูลประจำตัวทำให้ RP (ฝ่ายที่ต้องพึ่งพา) จะใช้ IdP (ผู้ให้บริการข้อมูลประจำตัว) เพื่อมอบบัญชีให้ผู้ใช้โดยไม่ต้องมีชื่อผู้ใช้และรหัสผ่านใหม่

FedCM เป็น API ที่สร้างขึ้นเฉพาะวัตถุประสงค์ซึ่งช่วยให้เบราว์เซอร์เข้าใจบริบทของการแลกเปลี่ยนข้อมูล RP และ IdP รวมถึงแจ้งให้ผู้ใช้ทราบเรื่องระดับข้อมูลและสิทธิ์ที่แชร์ รวมทั้งป้องกันการละเมิดโดยไม่ตั้งใจ

การอัปเดต

มีการอัปเดตการติดตั้งใช้งาน 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()

ผู้ใช้ตรวจสอบสิทธิ์กับ RP อีกครั้งโดยอัตโนมัติโดยใช้ FedCM

ลองเลย

คุณจะลองใช้การตรวจสอบสิทธิ์ซ้ำอัตโนมัติของ FedCM ในเครื่องได้โดยเปิดธง Chrome chrome://flags#fedcm-auto-re-authn ใน Chrome 112 ขึ้นไป

คุณรีเซ็ตช่วงเวลาเงียบ 10 นาทีในการทดสอบได้โดยนำข้อมูลเบราว์เซอร์ออก

  1. นำทางไปยัง chrome://history
  2. ในช่องประวัติการค้นหา ให้ป้อนที่มาของ RP
  3. คลิกไอคอน 3 จุด ⋮ และเลือกนำออกจากประวัติ
  4. รีสตาร์ท Chrome

เข้าร่วมช่วงทดลองใช้จากต้นทาง

คุณยังเปิดใช้ฟีเจอร์ในเว็บไซต์โดยเข้าร่วมช่วงทดลองใช้จากต้นทางของบุคคลที่สามที่มีให้ใช้งานจาก Chrome 112 ถึง Chrome 114 ได้ด้วย

ช่วงทดลองใช้จากต้นทางช่วยให้คุณได้ลองใช้ฟีเจอร์ใหม่ๆ และแสดงความคิดเห็นเกี่ยวกับการใช้งาน การใช้งานจริง และประสิทธิภาพต่อชุมชนมาตรฐานเว็บ ดูข้อมูลเพิ่มเติมได้ที่คู่มือช่วงทดลองใช้จากต้นทางสำหรับนักพัฒนาเว็บ หากต้องการลงชื่อสมัครช่วงทดลองใช้จากต้นทางนี้หรือช่วงทดลองใช้อื่น โปรดไปที่หน้าการลงทะเบียน

หากต้องการลงทะเบียนสำหรับช่วงทดลองใช้จากต้นทางของบุคคลที่สาม และเปิดใช้งานฟีเจอร์นี้ในบุคคลที่สาม ให้ทำดังนี้

  1. ไปที่หน้าการลงทะเบียนทดลองใช้ต้นทาง
  2. คลิกปุ่มลงทะเบียนและกรอกแบบฟอร์มเพื่อขอโทเค็น
  3. ป้อนต้นทางการแสดงผลเป็นต้นทางเว็บ
  4. เลือกการจับคู่ของบุคคลที่สามเพื่อแทรกโทเค็นกับ JavaScript ในต้นทางอื่นๆ
  5. คลิกส่ง
  6. ฝังโทเค็นที่ออกในบุคคลที่สาม

หากต้องการฝังโทเค็นลงในบุคคลที่สาม ให้เพิ่มโค้ดต่อไปนี้ลงในไลบรารี 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