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