API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์จัดส่งแล้วใน Chrome 108 แต่คาดว่าจะพัฒนาต่อไป โดยไม่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
การอัปเดตเหล่านี้มีไว้สําหรับใคร
การอัปเดตเหล่านี้มีไว้สำหรับคุณในกรณีต่อไปนี้
- คุณเป็น IdP ที่ใช้ API การจัดการข้อมูลเข้าสู่ระบบแบบรวมศูนย์
- คุณเป็น IdP หรือ RP และสนใจที่จะขยาย API เพื่อให้เหมาะกับกรณีการใช้งานของคุณ เช่น คุณได้สังเกตหรือเข้าร่วมการพูดคุยเกี่ยวกับที่เก็บ CG ของ FedID และต้องการทำความเข้าใจการเปลี่ยนแปลงที่เกิดขึ้นกับ API
- คุณเป็นผู้ให้บริการเบราว์เซอร์และต้องการทราบสถานะการใช้งาน API
หากคุณเพิ่งเริ่มใช้ API นี้หรือยังไม่ได้ทดลองใช้ API นี้ โปรดอ่านข้อมูลเบื้องต้นเกี่ยวกับ 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
ในการเรียก 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 มาก่อน
- ฟีเจอร์การตรวจสอบสิทธิ์ซ้ำอัตโนมัติใน FedCM จะทริกเกอร์เมื่อผู้ใช้กลับมาเท่านั้น ซึ่งหมายความว่าผู้ใช้ต้องลงชื่อเข้าใช้ RP โดยใช้ FedCM 1 ครั้งในทุกอินสแตนซ์ของเบราว์เซอร์ก่อนที่ระบบจะทริกเกอร์การตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติได้ ในช่วงแรกมีการแนะนำเงื่อนไขนี้ เพื่อลดความเสี่ยงที่ตัวติดตามจะแอบอ้างเป็นผู้ให้บริการข้อมูลประจำตัว (IdP) และหลอกให้เบราว์เซอร์ตรวจสอบสิทธิ์ของผู้ใช้อีกครั้งโดยอัตโนมัติโดยที่ผู้ใช้ไม่รู้ตัวหรือไม่ได้ให้ความยินยอม อย่างไรก็ตาม การออกแบบนี้ไม่สามารถรับประกันผลประโยชน์ด้านความเป็นส่วนตัวหากตัวติดตามสามารถเข้าถึงคุกกี้ของบุคคลที่สามในบริบทของ RP FedCM มอบความสามารถบางส่วนที่เป็นไปได้ผ่านคุกกี้ของบุคคลที่สาม ดังนั้นหากตัวติดตามมีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามในบริบทของ RP อยู่แล้ว การเข้าถึง FedCM จะไม่ก่อให้เกิดความเสี่ยงด้านความเป็นส่วนตัวเพิ่มเติม
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 แล้วเท่านั้น
- 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 ได้โดยการบล็อกคุกกี้ของบุคคลที่สาม เรียนรู้เพิ่มเติมจากเอกสาร 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)
- พารามิเตอร์
consent_acquired
ที่ส่งไปยังปลายทางของโทเค็นรหัสเปลี่ยนเป็นdisclosure_text_shown
แล้ว ค่าจะไม่มีการเปลี่ยนแปลง - ไอคอนการแสดงแบรนด์ในไฟล์ Manifest ของ IdP ได้หยุดรองรับรูปภาพ SVG แล้ว แต่นโยบายรักษาความปลอดภัยเนื้อหาของ RP ไม่จำเป็นต้องอนุญาตอีกต่อไป
Chrome 103 (พฤษภาคม 2022)
- รองรับสภาพแวดล้อมเดสก์ท็อป
- รองรับการตั้งค่าต่อ RP บนเดสก์ท็อป
- ตอนนี้ปลายทางข้อมูลเมตาของไคลเอ็นต์เป็นตัวเลือกที่ไม่บังคับ ในปลายทางนี้ URL นโยบายความเป็นส่วนตัวเป็นตัวเลือกที่ไม่บังคับด้วย
- เพิ่มคำเตือนเกี่ยวกับการใช้ CSP
connect-src
ในเอกสาร