ข้อมูลอัปเดตเกี่ยวกับ Federated Credential Management API

API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์จัดส่งแล้วใน Chrome 108 แต่คาดว่าจะดำเนินการต่อ มีการเปลี่ยนแปลง โดยไม่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ

การอัปเดตเหล่านี้มีไว้สําหรับใคร

การอัปเดตเหล่านี้มีไว้สำหรับคุณในกรณีต่อไปนี้

  • คุณเป็น IdP ที่ใช้ API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์
  • คุณเป็น IdP หรือ RP และสนใจที่จะขยาย API ให้เหมาะกับการใช้งานของคุณ ตัวพิมพ์ใหญ่-เล็ก เช่น คุณได้รับการสังเกตการณ์หรือเข้าร่วม การพูดคุยเกี่ยวกับที่เก็บ CG ของ FedID และอยากเข้าใจการเปลี่ยนแปลงที่ทำกับ API
  • คุณเป็นผู้ให้บริการเบราว์เซอร์และต้องการติดตามการใช้งาน ของ API

ถ้าคุณเพิ่งเริ่มใช้ API นี้หรือยังไม่ได้ทดลองใช้ โปรดอ่าน ข้อมูลเบื้องต้นเกี่ยวกับ Federated Credential Management API

บันทึกการเปลี่ยนแปลง

หากต้องการติดตามข้อมูลเกี่ยวกับการเปลี่ยนแปลงของ FedCM API โปรดดู บล็อก หรือ จดหมายข่าว

Chrome 125 (เมษายน 2024)

Chrome 123 (กุมภาพันธ์ 2024)

  • เพิ่มการรองรับ Domain Hint API คำแนะนำโดเมน API ช่วยให้ RP สามารถ ระบุพร็อพเพอร์ตี้ domainHint ในการเรียก API ของ FedCM เพื่อแสดงเฉพาะการจับคู่ที่ตรงกัน บัญชีผู้ใช้

Chrome 122 (มกราคม 2024)

Chrome 121 (ธันวาคม 2023)

  • เงื่อนไขที่ไม่ผ่อนปรนสำหรับการทริกเกอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติของ FedCM มีดังนี้
    • ฟีเจอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติใน FedCM จะทำงานเมื่อผู้ใช้กลับมาเท่านั้น ซึ่งหมายความว่าผู้ใช้ ต้องลงชื่อเข้าใช้ RP โดยใช้ FedCM หนึ่งครั้งในทุกอินสแตนซ์ของเบราว์เซอร์ ก่อนที่จะสามารถทริกเกอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติได้ ภาวะนี้ในช่วงแรก เปิดตัวเพื่อลดความเสี่ยงที่ตัวติดตามจะสวมรอยเป็นตัวตน (IdP) และหลอกให้เบราว์เซอร์ตรวจสอบสิทธิ์ผู้ใช้ซ้ำโดยอัตโนมัติ โดยที่พวกเขาไม่รู้ตัวหรือไม่ได้ตกลงอะไรเลย อย่างไรก็ตาม เราไม่อาจรับประกันได้ว่า สิทธิประโยชน์ด้านความเป็นส่วนตัวหากอุปกรณ์ติดตามมีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามใน บริบทของ RP FedCM มอบความสามารถบางส่วนที่เป็นไปได้ผ่านทาง คุกกี้ของบุคคลที่สาม ดังนั้นหากตัวติดตามมีสิทธิ์เข้าถึงข้อมูลของบุคคลที่สามอยู่แล้ว คุกกี้ในบริบทของ RP การเข้าถึง FedCM ไม่ได้ทำให้ความเป็นส่วนตัวเพิ่มขึ้นอีก ความเสี่ยง
      เนื่องจากมีการใช้คุกกี้ของบุคคลที่สามอย่างถูกกฎหมายและการผ่อนปรน จะทำให้ UX ดีขึ้น ลักษณะการทำงานนี้จะเปลี่ยนจาก Chrome 121 เราได้ตัดสินใจผ่อนปรนข้อจำกัดของเงื่อนไขในการปฏิบัติต่อผู้ใช้ การส่งคืน: หากคุกกี้ของบุคคลที่สามพร้อมใช้งานสำหรับ IdP ในระบบ RP Chrome จะเชื่อถือการอ้างสิทธิ์ของ IdP เกี่ยวกับสถานะบัญชีของผู้ใช้ ที่ระบุผ่านรายการ approved_clients และเรียกใช้การตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติ หากมี คุกกี้ของบุคคลที่สามจะใช้ได้ผ่านการตั้งค่าผู้ใช้ นโยบายองค์กร, การเรียนรู้ (Safari, Firefox Chrome) และ API แพลตฟอร์มเว็บอื่นๆ (เช่น การเข้าถึงพื้นที่เก็บข้อมูล API) หมายเหตุ เมื่อ IdP สูญเสียการเข้าถึงคุกกี้ของบุคคลที่สามในอนาคต หากผู้ใช้ ไม่เคยให้สิทธิ์ใน UI ของ FedCM อย่างชัดเจน (ตัวอย่างเช่น คลิกปุ่มดำเนินการต่อในฐานะ) ก่อนหน้านี้ ก็จะยังถือว่าเป็น ผู้ใช้ใหม่
      นักพัฒนาแอปไม่จำเป็นต้องดำเนินการใดๆ โปรดทราบว่าขั้นตอนการตรวจสอบสิทธิ์ซ้ำอัตโนมัติอาจ จะถูกเรียกให้แสดงมากขึ้นด้วยการเปลี่ยนแปลงนี้หาก IdP มีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สาม และอ้างว่าผู้ใช้เคยสร้างบัญชีกับ RP มาก่อน

Chrome 120 (พฤศจิกายน 2023)

  • เพิ่มการรองรับ 3 ฟีเจอร์ต่อไปนี้ใน Chrome 120
    • Login status API: สถานะการเข้าสู่ระบบ API คือ ที่เว็บไซต์ โดยเฉพาะ IdP แจ้งข้อมูลแก่เบราว์เซอร์ของผู้ใช้ สถานะการเข้าสู่ระบบ เมื่อใช้ API นี้ เบราว์เซอร์สามารถลดคำขอที่ไม่จำเป็นไปยัง IdP และลดการโจมตีแบบกำหนดเวลาที่อาจเกิดขึ้นได้ API สถานะการเข้าสู่ระบบคือ ข้อกำหนดของ FedCM การเปลี่ยนแปลงนี้จะทำให้สถานะ chrome://flags/#fedcm-without-third-party-cookies ไม่จำเป็นต้องเปิดใช้ FedCM อีกต่อไปเมื่อมีการบล็อกคุกกี้ของบุคคลที่สาม
    • Error API: ข้อผิดพลาด API จะแจ้งเตือน โดยแสดง UI ของเบราว์เซอร์พร้อมข้อมูลข้อผิดพลาดที่ IdP ระบุไว้
    • Auto-Selected Flag API: แฟล็กที่เลือกโดยอัตโนมัติ API จะบอกว่าผู้ใช้ได้รับสิทธิ์อย่างชัดแจ้งหรือไม่ด้วยการแตะที่ ปุ่มดำเนินการต่อในฐานะซึ่งมีทั้ง IdP และ RP เมื่อใดก็ตามที่การตรวจสอบสิทธิ์ซ้ำอัตโนมัติ เกิดขึ้นหรือมีสื่อกลางอย่างชัดแจ้ง การแชร์จะเกิดขึ้นหลังจากที่ผู้ใช้แล้วเท่านั้น คือการให้สิทธิ์สำหรับการสื่อสารของ IdP และ RP

Chrome 117 (ก.ย. 2023)

Chrome 116 (ส.ค. 2023)

  • เพิ่มการรองรับ 3 ฟีเจอร์ต่อไปนี้ใน Chrome 116
    • Login Hint API: ระบุบัญชีผู้ใช้ที่ต้องการลงชื่อเข้าใช้
    • User Info API: ดึงข้อมูลของผู้ใช้ที่กลับมาเพื่อให้ผู้ให้บริการข้อมูลประจำตัว (IdP) แสดงปุ่มลงชื่อเข้าใช้ที่ปรับเปลี่ยนในแบบของคุณภายใน iframe ได้
    • RP Context API: ใช้ชื่ออื่นที่ไม่ใช่ "ลงชื่อเข้าใช้" ในกล่องโต้ตอบ FedCM
  • ช่วงทดลองใช้จากต้นทางสำหรับ API สถานะการลงชื่อเข้าใช้ของ IdP พร้อมให้บริการ โปรดดูข้อมูลเพิ่มเติมในการอัปเดตของ FedCM: API สถานะการลงชื่อเข้าใช้ของ IdP, คำแนะนำการเข้าสู่ระบบ และอื่นๆ

Chrome 115 (มิถุนายน 2023)

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

Chrome 110 (กุมภาพันธ์ 2023)

  • สำหรับปลายทางการยืนยันรหัส IdP ต้องตรวจสอบส่วนหัว Origin (แทนส่วนหัว Referer) เพื่อดูว่าค่าตรงกับต้นทางของรหัสไคลเอ็นต์หรือไม่
  • การรองรับ iframe แบบข้ามต้นทางสำหรับ FedCM พร้อมใช้งานแล้ว เครื่องมือฝังควรระบุ Permissions-Policy identity-credentials-get เพื่ออนุญาต FedCM API ในข้ามต้นทางแบบฝัง iframe คุณสามารถดูตัวอย่าง iframe แบบข้ามต้นทาง
  • เพิ่ม Flag chrome://flags/#fedcm-without-third-party-cookies ใหม่ใน Chrome แล้ว คุณสามารถทดสอบฟังก์ชันการทำงานของ FedCM ใน Chrome ได้ด้วย Flag นี้ ด้วยการบล็อกคุกกี้ของบุคคลที่สาม เรียนรู้เพิ่มเติมจากเอกสาร FedCM

Chrome 108 (ตุลาคม 2022)

  • "ไฟล์ Manifest ระดับบนสุด" เปลี่ยนชื่อเป็น "ไฟล์ที่รู้จักกันดี" ในเอกสาร โดยไม่จำเป็นต้องมีการเปลี่ยนแปลงใดๆ เกี่ยวกับการใช้งาน
  • "ไฟล์ Manifest IdP" เปลี่ยนชื่อเป็น "ไฟล์การกำหนดค่า" ในเอกสาร ยังไม่ได้ติดต่อ และจำเป็นต้องเปลี่ยนแปลงการติดตั้งใช้งาน
  • id_token_endpoint ใน "ไฟล์การกำหนดค่า" เปลี่ยนชื่อเป็น id_assertion_endpoint
  • ตอนนี้คำขอที่ส่งไปยัง IdP จะมี Sec-Fetch-Dest: webidentity แทนที่จะเป็นส่วนหัว Sec-FedCM-CSRF: ?1

Chrome 105 (สิงหาคม 2022)

  • เพิ่มข้อมูลความปลอดภัยที่สำคัญลงในเอกสารแล้ว ตัวตน ผู้ให้บริการ (IdP) ต้องตรวจสอบว่าส่วนหัว Referer ตรงกับต้นทางหรือไม่ RP ที่ลงทะเบียนล่วงหน้าเมื่อ ปลายทางโทเค็นรหัส
  • ไฟล์ Manifest ระดับบนสุดเปลี่ยนชื่อจาก /.well-known/fedcm.json เป็น /.well-known/web-identity และ URL ที่ระบุใน provider_urls ควร ให้ระบุชื่อไฟล์
  • เมธอด login(), logout() และ revoke() บน FederatedCredential อินสแตนซ์ ไม่สามารถใช้ได้อีก
  • ตอนนี้ API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์ใช้ประเภทใหม่ IdentityCredential จากราคาเต็ม FederatedCredential ซึ่งใช้สำหรับ การตรวจจับฟีเจอร์ แต่เป็นการเปลี่ยนแปลงที่มองไม่เห็นอย่างมาก
  • ย้ายฟังก์ชันการเข้าสู่ระบบจากชุดค่าผสมของ navigator.credentials.get() และ FederatedCredential.prototype.login() ถึง navigator.credentials.get()
  • ปลายทางการเพิกถอนในไฟล์ Manifest จะไม่มีผลอีกต่อไป
  • ใช้ช่อง identity แทนช่อง federated สําหรับ navigator.credentials.get() สาย
  • url ในขณะนี้ configURL และต้องเป็น URL แบบเต็มสำหรับไฟล์ JSON ของไฟล์ Manifest แทนเส้นทางสำหรับ การโทร navigator.credentials.get()
  • nonce ขณะนี้เป็นพารามิเตอร์ที่ไม่บังคับสำหรับ navigator.credentials.get()
  • hint ไม่มีให้บริการเป็นตัวเลือกสำหรับ navigator.credentials.get()
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (มิถุนายน 2022)

Chrome 103 (พฤษภาคม 2022)

  • รองรับสภาพแวดล้อมเดสก์ท็อป
  • รองรับการตั้งค่าต่อ RP บนเดสก์ท็อป
  • ปลายทางข้อมูลเมตาของไคลเอ็นต์ เป็นตัวเลือกที่ไม่บังคับ ในปลายทางนี้ URL นโยบายความเป็นส่วนตัวเป็นตัวเลือกที่ไม่บังคับด้วย
  • เพิ่มคำเตือนเกี่ยวกับการใช้ CSP connect-src ในเอกสาร

แหล่งข้อมูล