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

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

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

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

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

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

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

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

Chrome 125 (เมษายน 2024)

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

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

Chrome 122 (มกราคม 2024)

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

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

  • เพิ่มการรองรับ 3 ฟีเจอร์ต่อไปนี้ใน Chrome 120
    • API สถานะการเข้าสู่ระบบ: API สถานะการเข้าสู่ระบบคือกลไกที่เว็บไซต์ โดยเฉพาะ IdP แจ้งสถานะการเข้าสู่ระบบของผู้ใช้ให้เบราว์เซอร์ทราบ โดย API นี้จะช่วยลดคำขอที่ไม่จำเป็นที่ส่งไปยัง IdP และลดการโจมตีแบบกำหนดเวลาที่อาจเกิดขึ้น API สถานะการเข้าสู่ระบบเป็นข้อกำหนดสำหรับ FedCM การเปลี่ยนแปลงนี้ทำให้ไม่จำเป็นต้องแจ้ง 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)

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

แหล่งข้อมูล