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

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

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

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

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

หากคุณยังไม่เคยใช้ API นี้หรือยังไม่ได้ทดลองใช้ โปรดอ่านข้อมูลเบื้องต้นเกี่ยวกับ API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์

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

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

Chrome 125 (เมษายน 2024)

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

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

Chrome 122 (มกราคม 2024)

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

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

Chrome 117 (ก.ย. 2023)

Chrome 116 (ส.ค. 2023)

  • เพิ่มการรองรับ 3 ฟีเจอร์ต่อไปนี้ใน Chrome 116
    • 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 แบบข้ามต้นทางได้
  • เพิ่ม Chrome Flag chrome://flags/#fedcm-without-third-party-cookies ใหม่แล้ว ด้วยแฟล็กนี้ คุณสามารถทดสอบฟังก์ชันการทำงานของ FedCM ใน Chrome ได้ด้วยการบล็อกคุกกี้ของบุคคลที่สาม ดูข้อมูลเพิ่มเติมจากเอกสารประกอบของ 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 ในเอกสาร

แหล่งข้อมูล