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 131 (ตุลาคม 2024)
- ตอนนี้ Storage Access API ใช้ FedCM เป็นสัญญาณความน่าเชื่อถือ
- หากผู้ใช้ตรวจสอบสิทธิ์ด้วย FedCM โดยเลือกใช้ RP แทรก IdP จะเรียกใช้เมธอด
requestStorageAccess()
เพื่อรับสิทธิ์เข้าถึงพื้นที่เก็บข้อมูลโดยอัตโนมัติในคุกกี้ระดับบนสุดของตนเองได้โดยไม่ต้องแสดงข้อความแจ้งให้ผู้ใช้ดำเนินการเพิ่มเติม
- หากผู้ใช้ตรวจสอบสิทธิ์ด้วย FedCM โดยเลือกใช้ RP แทรก IdP จะเรียกใช้เมธอด
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 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 ไว้ก่อนหน้านี้
- ฟีเจอร์การตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติใน FedCM จะทริกเกอร์ก็ต่อเมื่อผู้ใช้กลับมา ซึ่งหมายความว่าผู้ใช้ต้องลงชื่อเข้าใช้ RP โดยใช้ FedCM 1 ครั้งในอินสแตนซ์เบราว์เซอร์ทุกรายการก่อนจึงจะทริกเกอร์การให้สิทธิ์ใหม่อัตโนมัติได้ เงื่อนไขนี้เริ่มนำมาใช้เพื่อลดความเสี่ยงที่เครื่องมือติดตามจะแอบอ้างเป็นผู้ให้บริการข้อมูลประจำตัว (IdP) และหลอกลวงเบราว์เซอร์ให้ตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยอัตโนมัติโดยที่ผู้ใช้ไม่รู้ตัวหรือไม่ได้ให้ความยินยอม อย่างไรก็ตาม การออกแบบนี้ไม่สามารถรับประกันสิทธิประโยชน์ด้านความเป็นส่วนตัวได้หากเครื่องมือติดตามมีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามในบริบท RP FedCM มีเพียงความสามารถบางส่วนที่ทำได้ผ่านคุกกี้ของบุคคลที่สาม ดังนั้นหากเครื่องมือติดตามมีสิทธิ์เข้าถึงคุกกี้ของบุคคลที่สามในบริบท RP อยู่แล้ว การเข้าถึง FedCM จะไม่ก่อให้เกิดความเสี่ยงด้านความเป็นส่วนตัวเพิ่มเติม
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 แล้วเท่านั้น
- Login Status API: Login Status API เป็นกลไกที่เว็บไซต์ โดยเฉพาะ IdP จะแจ้งสถานะการเข้าสู่ระบบของผู้ใช้ให้เบราว์เซอร์ทราบ API นี้ช่วยให้เบราว์เซอร์ลดคำขอที่ไม่จำเป็นไปยัง IdP และลดการโจมตีตามเวลาได้ Login Status API เป็นข้อกำหนดสำหรับ FedCM
การเปลี่ยนแปลงนี้ทำให้คุณไม่จำเป็นต้องใช้ Flag
Chrome 117 (ก.ย. 2023)
- ช่วงทดลองใช้จากต้นทางสําหรับ Idp Sign-In Status API พร้อมใช้งานใน Android ตั้งแต่ Chrome 117 ดูข้อมูลเพิ่มเติมได้ในการอัปเดต FedCM: IdP Sign-In Status API, คำแนะนำในการเข้าสู่ระบบ และอื่นๆ
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)
- พารามิเตอร์
consent_acquired
ที่ส่งไปยังปลายทางของโทเค็นระบุตัวตนตอนนี้คือdisclosure_text_shown
ค่าไม่มีการเปลี่ยนแปลง - ไอคอนการสร้างแบรนด์ในไฟล์ Manifest ของ IdP ได้หยุดรองรับรูปภาพ SVG แล้ว แต่ไม่จำเป็นต้องได้รับอนุญาตจากนโยบายการรักษาความปลอดภัยของเนื้อหาของ RP อีกต่อไป
Chrome 103 (พฤษภาคม 2022)
- รองรับสภาพแวดล้อมเดสก์ท็อป
- รองรับการตั้งค่าต่อ RP ในเดสก์ท็อป
- ปลายทางข้อมูลเมตาไคลเอ็นต์เป็นตัวเลือกที่ไม่บังคับแล้ว ในปลายทางนี้ คุณไม่จำเป็นต้องระบุ URL ของนโยบายความเป็นส่วนตัว
- เพิ่มข้อควรระวังเกี่ยวกับการใช้ CSP
connect-src
ในเอกสาร