API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์จัดส่งแล้วใน Chrome 108 แต่คาดว่าจะดำเนินการต่อ มีการเปลี่ยนแปลง โดยไม่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
การอัปเดตเหล่านี้มีไว้สําหรับใคร
การอัปเดตเหล่านี้มีไว้สำหรับคุณในกรณีต่อไปนี้
- คุณเป็น IdP ที่ใช้ API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์
- คุณเป็น IdP หรือ RP และสนใจที่จะขยาย API ให้เหมาะกับการใช้งานของคุณ ตัวพิมพ์ใหญ่-เล็ก เช่น คุณได้รับการสังเกตการณ์หรือเข้าร่วม การพูดคุยเกี่ยวกับที่เก็บ CG ของ FedID และอยากเข้าใจการเปลี่ยนแปลงที่ทำกับ API
- คุณเป็นผู้ให้บริการเบราว์เซอร์และต้องการติดตามการใช้งาน ของ API
ถ้าคุณเพิ่งเริ่มใช้ API นี้หรือยังไม่ได้ทดลองใช้ โปรดอ่าน ข้อมูลเบื้องต้นเกี่ยวกับ Federated Credential Management API
บันทึกการเปลี่ยนแปลง
หากต้องการติดตามข้อมูลเกี่ยวกับการเปลี่ยนแปลงของ FedCM API โปรดดู บล็อก หรือ จดหมายข่าว
Chrome 125 (เมษายน 2024)
- เนื่องจากข้อกำหนดได้อัปเดตชื่อของ "ปลายทางของรายการบัญชี" เป็น "บัญชี" ปลายทาง" เอกสารของเราก็สอดคล้องกัน
- ช่วงทดลองใช้จากต้นทางสำหรับ Button Mode API มีให้บริการใน Chrome สำหรับเดสก์ท็อป 125 ดูข้อมูล ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในข้อมูลอัปเดตจาก FedCM: ช่วงทดลองใช้ API โหมดปุ่มจากต้นทาง, CORS และ SameSite
- CORS มีการบังคับใช้ใน ปลายทางการยืนยันรหัส เริ่มจาก Chrome 125
- Chrome จะส่งเฉพาะคุกกี้ที่มีการระบุอย่างชัดเจนว่าเป็น
SameSite=None
ไปยังรหัส การยืนยันปลายทางและ ปลายทางบัญชีกำลังเริ่มต้น จาก Chrome 125
Chrome 123 (กุมภาพันธ์ 2024)
- เพิ่มการรองรับ Domain Hint API คำแนะนำโดเมน
API ช่วยให้ RP สามารถ
ระบุพร็อพเพอร์ตี้
domainHint
ในการเรียก API ของ FedCM เพื่อแสดงเฉพาะการจับคู่ที่ตรงกัน บัญชีผู้ใช้
Chrome 122 (มกราคม 2024)
- เพิ่มการสนับสนุนสำหรับยกเลิกการเชื่อมต่อ API การยกเลิกการเชื่อมต่อ API ช่วยให้ RP จะยกเลิกการเชื่อมต่อผู้ใช้จากบัญชีของ IdP โดยไม่ต้องพึ่งพา คุกกี้ของบุคคลที่สาม
- การตรวจสอบ
/.well-known/web-identity
จะถูกข้ามเมื่อ RP และ IdP อยู่ในเว็บไซต์เดียวกัน - ตอนนี้ทรัพยากรย่อยตั้งค่าการเข้าสู่ระบบของเว็บไซต์เดียวกันได้แล้ว สถานะ
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 มาก่อน
- ฟีเจอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติใน
FedCM จะทำงานเมื่อผู้ใช้กลับมาเท่านั้น ซึ่งหมายความว่าผู้ใช้
ต้องลงชื่อเข้าใช้ RP โดยใช้ FedCM หนึ่งครั้งในทุกอินสแตนซ์ของเบราว์เซอร์
ก่อนที่จะสามารถทริกเกอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติได้ ภาวะนี้ในช่วงแรก
เปิดตัวเพื่อลดความเสี่ยงที่ตัวติดตามจะสวมรอยเป็นตัวตน
(IdP) และหลอกให้เบราว์เซอร์ตรวจสอบสิทธิ์ผู้ใช้ซ้ำโดยอัตโนมัติ
โดยที่พวกเขาไม่รู้ตัวหรือไม่ได้ตกลงอะไรเลย อย่างไรก็ตาม เราไม่อาจรับประกันได้ว่า
สิทธิประโยชน์ด้านความเป็นส่วนตัวหากอุปกรณ์ติดตามมีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามใน
บริบทของ RP FedCM มอบความสามารถบางส่วนที่เป็นไปได้ผ่านทาง
คุกกี้ของบุคคลที่สาม ดังนั้นหากตัวติดตามมีสิทธิ์เข้าถึงข้อมูลของบุคคลที่สามอยู่แล้ว
คุกกี้ในบริบทของ RP การเข้าถึง FedCM ไม่ได้ทำให้ความเป็นส่วนตัวเพิ่มขึ้นอีก
ความเสี่ยง
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
- Login status API: สถานะการเข้าสู่ระบบ
API คือ
ที่เว็บไซต์ โดยเฉพาะ IdP แจ้งข้อมูลแก่เบราว์เซอร์ของผู้ใช้
สถานะการเข้าสู่ระบบ เมื่อใช้ API นี้ เบราว์เซอร์สามารถลดคำขอที่ไม่จำเป็นไปยัง
IdP และลดการโจมตีแบบกำหนดเวลาที่อาจเกิดขึ้นได้ API สถานะการเข้าสู่ระบบคือ
ข้อกำหนดของ FedCM
การเปลี่ยนแปลงนี้จะทำให้สถานะ
Chrome 117 (ก.ย. 2023)
- ช่วงทดลองใช้จากต้นทางสำหรับ Idp Sign-In Status API พร้อมใช้งานใน Android จาก Chrome 117 โปรดดูข้อมูลเพิ่มเติมในการอัปเดตของ FedCM: API สถานะการลงชื่อเข้าใช้ของ IdP, คำแนะนำการเข้าสู่ระบบ และอื่นๆ
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)
- พารามิเตอร์
consent_acquired
ที่ส่งไปยังปลายทางของโทเค็นรหัสตอนนี้อยู่disclosure_text_shown
ค่าจะไม่มีการเปลี่ยนแปลง - ไอคอนแบรนด์ใน ไฟล์ Manifest ของ IdP ได้หยุดรองรับรูปภาพ SVG แล้ว แต่ไม่จำเป็นต้องได้รับอนุญาตจาก ของ RP นโยบายรักษาความปลอดภัยเนื้อหา
Chrome 103 (พฤษภาคม 2022)
- รองรับสภาพแวดล้อมเดสก์ท็อป
- รองรับการตั้งค่าต่อ RP บนเดสก์ท็อป
- ปลายทางข้อมูลเมตาของไคลเอ็นต์ เป็นตัวเลือกที่ไม่บังคับ ในปลายทางนี้ URL นโยบายความเป็นส่วนตัวเป็นตัวเลือกที่ไม่บังคับด้วย
- เพิ่มคำเตือนเกี่ยวกับการใช้ CSP
connect-src
ในเอกสาร