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

Federated Credential Management API พร้อมใช้งานใน Chrome 108 แต่คาดว่าจะพัฒนาต่อไป โดยไม่มีการเปลี่ยนแปลงที่อาจทำให้แอปใช้งานไม่ได้

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

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

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

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

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

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

Chrome 132 (พฤศจิกายน 2024)

Chrome 131 (ตุลาคม 2024)

Chrome 125 (เมษายน 2024)

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

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

Chrome 122 (มกราคม 2024)

  • เพิ่มการรองรับ Disconnect API Disconnect API ช่วยให้ RP ตัดการเชื่อมต่อผู้ใช้ออกจากบัญชีของผู้ให้บริการระบุตัวตนได้โดยไม่ต้องอาศัยคุกกี้ของบุคคลที่สาม
  • ระบบจะข้ามการตรวจสอบ /.well-known/web-identity เมื่อ RP และ IdP อยู่ในเว็บไซต์เดียวกัน
  • ตอนนี้ชิ้นงานย่อยสามารถตั้งค่าสถานะการเข้าสู่ระบบในเว็บไซต์เดียวกันได้แล้ว

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 แพลตฟอร์มเว็บอื่นๆ (เช่น Storage Access API) โปรดทราบว่าเมื่อ IdP เสียสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามในอนาคต หากผู้ใช้ไม่เคยให้สิทธิ์อย่างชัดเจนใน UI ของ FedCM (เช่น การคลิกปุ่มดำเนินการต่อในฐานะ) มาก่อน ระบบจะยังคงถือว่าผู้ใช้รายดังกล่าวเป็นผู้ใช้ใหม่
      นักพัฒนาแอปไม่จําเป็นต้องดําเนินการใดๆ โปรดทราบว่าขั้นตอนการตรวจสอบสิทธิ์ใหม่อัตโนมัติอาจทริกเกอร์มากขึ้นเมื่อมีการเปลี่ยนแปลงนี้หากผู้ให้บริการระบุตัวตนมีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามและอ้างว่าผู้ใช้ได้สร้างบัญชีใน RP ไว้ก่อนหน้านี้

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

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

Chrome 117 (ก.ย. 2023)

Chrome 116 (สิงหาคม 2023)

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

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 Flag นี้จะช่วยให้คุณทดสอบฟังก์ชันการทำงานของ 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 จะไม่มีให้บริการอีกต่อไป
  • ตอนนี้ Federated Credential Management API ใช้ประเภทใหม่ IdentityCredential แทน FederatedCredential ซึ่งสามารถใช้เพื่อตรวจหาองค์ประกอบ แต่โดยส่วนใหญ่แล้วจะเป็นการเปลี่ยนแปลงที่มองไม่เห็น
  • ย้ายฟังก์ชันการเข้าสู่ระบบจากชุดค่าผสมของ navigator.credentials.get() และ FederatedCredential.prototype.login() ไปยัง navigator.credentials.get()
  • ปลายทางการเพิกถอนในไฟล์ Manifest ไม่มีผลอีกต่อไป
  • ใช้ช่อง identity แทนช่อง federated สําหรับการเรียกใช้ navigator.credentials.get()
  • url เปลี่ยนเป็น configURL แล้ว และต้องเป็น URL แบบเต็มของไฟล์ Manifest JSON ไม่ใช่เส้นทางสําหรับการเรียก 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 ในเอกสาร

แหล่งข้อมูล