ตั้งแต่ Chrome 128 เป็นต้นไป Multi-IdP API จะเริ่มช่วงทดลองใช้จากต้นทางบนเดสก์ท็อป และ Button Mode API และ Continuation Bundle จะเริ่มช่วงทดลองใช้จากต้นทางบน Android ฟีเจอร์ Multi IdP ช่วยให้นักพัฒนาแอประบุอาร์เรย์ของผู้ให้บริการข้อมูลประจำตัวที่รองรับได้หลายรายการในการเรียกใช้ get()
ครั้งเดียว Button Mode API จะเพิ่ม UI ใหม่ เมื่อใช้ Button Mode API ผู้ให้บริการข้อมูลประจำตัวจะใช้ FedCM API ได้แม้ว่าผู้ใช้จะไม่มีเซสชัน IdP ที่ใช้งานอยู่เมื่อมีการเรียก API ก็ตาม กลุ่มต่อเนื่องประกอบด้วย Continuation API และ Parameters API ซึ่งช่วยให้ได้รับประสบการณ์การใช้งานที่คล้ายกับขั้นตอนการให้สิทธิ์ OAuth ซึ่งเกี่ยวข้องกับกล่องโต้ตอบสิทธิ์ที่ IdP ระบุ นอกจากนี้ แพ็กเกจยังมีการเปลี่ยนแปลงอื่นๆ เช่น Fields API, configURL
หลายรายการ และป้ายกำกับบัญชีที่กำหนดเอง
ช่วงทดลองใช้จากต้นทาง: Multi IdP API
ฟีเจอร์นี้ช่วยให้ผู้ใช้เลือกบัญชีจากชุดผู้ให้บริการระบุตัวตนที่รองรับได้ และ RP จะได้รับประโยชน์จากอัตราการลงชื่อเข้าใช้และลงชื่อสมัครใช้ที่สูงขึ้น หากผู้ใช้เข้าสู่ระบบด้วย IdP หลายรายการ ระบบจะแจ้งให้ผู้ใช้ลงชื่อเข้าใช้ RP โดยใช้ IdP รายการใดรายการหนึ่ง
ระบบจะจัดลําดับความสําคัญของผู้ให้บริการระบุตัวตนตามบัญชีที่มีอยู่ของผู้ใช้และการประทับเวลาที่เกี่ยวข้อง
- หากผู้ใช้เคยเข้าสู่ระบบ RP ด้วย IdP ที่เฉพาะเจาะจง (กล่าวคือมี "บัญชีที่กลับมา") IdP เหล่านั้นจะแสดงเป็นรายการแรก
- ภายในบัญชีที่กลับมา ระบบจะจัดเรียง IdP เพิ่มเติมตามการประทับเวลาของการใช้งานล่าสุด โดย IdP ที่ใช้ล่าสุดจะปรากฏที่ด้านบนของรายการ ในบางกรณี Chrome อาจไม่มีข้อมูลการประทับเวลาสําหรับบัญชีที่กลับมา ปัญหานี้อาจเกิดจากผู้ใช้ลงชื่อเข้าใช้ก่อนมีการใช้บันทึกการประทับเวลาใน FedCM บัญชีเหล่านี้จะแสดงอยู่ใต้บัญชีที่มีการประทับเวลา
- หากผู้ใช้ไม่มีบัญชีที่กลับมาโดยใช้ IdP ใดๆ ระบบจะยึดตามลำดับที่ RP ระบุ
FedCM อนุญาตให้ตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติหากนักพัฒนาแอปขอและหากมีบัญชีที่กลับมาเพียงบัญชีเดียว ในกรณีของ IdP หลายรายการ หากมีบัญชีที่กลับมาสำหรับ IdP หลายรายการ ระบบจะไม่ตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยอัตโนมัติ การมีบัญชีที่กลับมาใช้ใหม่เป็นข้อกำหนดที่สำคัญสำหรับการตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติ เบราว์เซอร์จะเริ่มการตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติก็ต่อเมื่อเบราว์เซอร์จดจำบัญชีดังกล่าวอย่างชัดเจน ซึ่งหมายความว่าผู้ใช้เคยใช้ FedCM กับบัญชีนี้ใน RP นี้มาก่อน
หากตั้งค่าสถานะการเข้าสู่ระบบของผู้ใช้เป็น "ออกจากระบบแล้ว" สำหรับ IdP การเรียกใช้ FedCM จะไม่ดึงข้อมูลบัญชีสำหรับ IdP นั้น ในทํานองเดียวกัน หากสถานะของผู้ใช้ออกจากระบบสำหรับ IdP ทั้งหมดที่ใช้ได้ ระบบจะไม่แสดงข้อความแจ้งให้ลงชื่อเข้าใช้ FedCM โดยอัตโนมัติในโหมดวิดเจ็ต
หากสถานะการเข้าสู่ระบบที่บันทึกไว้ในเบราว์เซอร์สำหรับ IdP หนึ่งๆ มีการเข้าสู่ระบบ แต่คําขอดึงข้อมูลไม่แสดงบัญชีสําหรับ IdP นี้ (เช่น หากเซสชันของผู้ใช้หมดอายุแล้ว แต่เบราว์เซอร์ยังไม่ได้อัปเดตสถานะการเข้าสู่ระบบ) UI ที่ไม่ตรงกันจะแสดงสําหรับ IdP โดยแนะนําให้ผู้ใช้ลงชื่อเข้าใช้ด้วย IdP ที่ไม่ตรงกัน
ดูข้อมูลเพิ่มเติมเกี่ยวกับสถานะการเข้าสู่ระบบได้ในเอกสารประกอบ ดูรายละเอียดการติดตั้งใช้งานเพิ่มเติมได้ในคู่มือนักพัฒนาซอฟต์แวร์
ช่วงทดลองใช้จากต้นทาง: Multi IdP API
คุณสามารถลองใช้ Multi IdP API ในฐานะผู้ใช้ใน demo RP หรือในฐานะนักพัฒนาซอฟต์แวร์ที่ใช้ Chrome 128 ขึ้นไป
ลองใช้ในฐานะผู้ใช้
ลองใช้ด้วยตัวคุณเองในฐานะผู้ใช้ โปรดตรวจสอบสิ่งต่อไปนี้
- Chrome ไม่ได้กําหนดค่าให้บล็อกข้อความแจ้งให้ลงชื่อเข้าใช้ของบุคคลที่สามในหน้า
chrome://settings/content/federatedIdentityApi
- คุณลงชื่อเข้าใช้ผู้ให้บริการระบุตัวตน (IdP) สาธิตหลายรายการ ทำตามวิธีการในหน้าสาธิต
โปรดทราบว่าหากต้องการลองใช้ Multi-IdP ในเว็บไซต์ที่ไม่ได้ลงทะเบียนต้นทางสำหรับการทดลองใช้ต้นทาง คุณต้องเปิดใช้ Flag ฟีเจอร์ในส่วน chrome://flags/#fedcm-multi-idp
ลองใช้ในฐานะนักพัฒนาแอป
หากผู้ให้บริการการเข้าสู่ระบบฝัง SDK ของ JavaScript ไว้ใน RP (แนะนำ) ผู้ให้บริการจะใช้การเรียก navigator.credentials.get()
เพื่อเปิดใช้ IdP หลายรายการได้ และนักพัฒนา RP ก็ไม่จําเป็นต้องเปลี่ยนโค้ด ไม่เช่นนั้น RP จะต้องเรียกใช้ FedCM API ด้วยตนเอง
หากต้องการทดสอบผู้ให้บริการระบุตัวตนหลายรายใน RP ให้ระบุอาร์เรย์ของผู้ให้บริการที่รองรับดังนี้
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
แอตทริบิวต์ configURL
ภายในออบเจ็กต์ที่ได้จะจัดเก็บ URL ของไฟล์การกําหนดค่าสําหรับ IdP ที่ผู้ใช้ตรวจสอบสิทธิ์ด้วย RP สามารถกำหนดวิธีจัดการ token
ที่ได้ เนื่องจากจะแตกต่างกันไปตาม IdP
เข้าร่วมช่วงทดลองใช้จากต้นทาง
ช่วงทดลองใช้จากต้นทางช่วยให้คุณลองใช้ฟีเจอร์ใหม่ๆ และแสดงความคิดเห็นเกี่ยวกับความสามารถในการใช้งาน ประโยชน์ และประสิทธิภาพของฟีเจอร์เหล่านั้น ดูข้อมูลเพิ่มเติมได้ที่เริ่มต้นใช้งานการทดลองใช้ต้นทาง
คุณสามารถลองใช้ฟีเจอร์ Multi IdP ได้โดยลงทะเบียนเข้าร่วมการทดลองใช้เวอร์ชันต้นทางตั้งแต่ Chrome 128 เป็นต้นไป
หากต้องการลองใช้ Multi IdP RP สามารถลงทะเบียนต้นทางและเรียกใช้การทดลองใช้ต้นทางของบุคคลที่หนึ่ง นอกจากนี้ IdP ยังลงทะเบียนช่วงทดลองใช้แหล่งที่มาของบุคคลที่สามและทำให้ฟีเจอร์ Multi IdP พร้อมใช้งานสำหรับ RP ทั้งหมดโดยใช้ SDK ของ JavaScript ได้อีกด้วย
ขั้นตอนในการเข้าร่วมการทดลองใช้จากต้นทาง
- ไปที่หน้าการลงทะเบียนช่วงทดลองใช้ Multi IdP API
- คลิกปุ่มลงทะเบียนและกรอกแบบฟอร์มเพื่อขอโทเค็น
- หากต้องการลงทะเบียนช่วงทดลองใช้จากต้นทางของบุคคลที่หนึ่ง ให้ป้อนต้นทางของ RP ในช่อง "ต้นทางของเว็บ" สําหรับการทดสอบต้นทางของบุคคลที่สาม ให้ป้อนต้นทางของ JavaScript SDK ของ IdP แล้วเลือกช่อง "การจับคู่ของบุคคลที่สาม"
- คลิกส่ง
- ระบุโทเค็นที่ออกในหน้า RP ดังนี้
- สําหรับผู้เข้าร่วมการทดสอบช่วงทดลองใช้จากต้นทางของบุคคลที่หนึ่ง ให้ทําดังนี้
- ใช้เป็นเมตาแท็กใน
<head>
:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- ใช้เป็นส่วนหัว HTTP:
Origin-Trial: TOKEN_GOES_HERE
- ใช้เป็นเมตาแท็กใน
- สําหรับผู้เข้าร่วมการทดลองใช้จากต้นทางของบุคคลที่สาม
- โดยการระบุโทเค็นแบบเป็นโปรแกรม
- สําหรับผู้เข้าร่วมการทดสอบช่วงทดลองใช้จากต้นทางของบุคคลที่หนึ่ง ให้ทําดังนี้
Button Mode API สำหรับ Chrome ใน Android
ตั้งแต่ Chrome เวอร์ชัน 128 เป็นต้นไป ช่วงทดลองใช้จากต้นทางของ Button Mode API จะเริ่มต้นใน Chrome บน Android ตามหลังช่วงทดลองใช้บนเดสก์ท็อปครั้งแรก เมื่อใช้ Button Mode API ผู้ให้บริการข้อมูลประจำตัวจะใช้ FedCM API ได้แม้ว่าผู้ใช้จะออกจากระบบ IdP ไปแล้วเมื่อมีการเรียก API โฟลว์การลงชื่อเข้าใช้จะเริ่มต้นด้วยการจับคู่นิ้วของผู้ใช้ ซึ่งแสดงถึงเจตนาของผู้ใช้ได้ดียิ่งขึ้น
ใน Chrome 128 จะมีการเปิดตัวฟีเจอร์ใหม่ที่ช่วยให้ IdP รวมไอคอนโลโก้อย่างเป็นทางการของ RP ในการตอบกลับปลายทางข้อมูลเมตาไคลเอ็นต์ได้โดยตรง ซึ่งจะช่วยปรับปรุง UI ในอุปกรณ์เคลื่อนที่ในโหมดปุ่ม
ไอคอนของ RP สามารถกําหนดค่าฝั่ง IdP และแสดงในการตอบกลับ client_metadata_endpoint
ได้เช่นเดียวกับการสร้างแบรนด์ IdP ในไฟล์การกําหนดค่า ดังนี้
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]

ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับไอคอนได้ในเอกสารประกอบสําหรับนักพัฒนาซอฟต์แวร์
หากผู้ใช้ยังไม่ได้ลงชื่อเข้าใช้ FedCM จะแจ้งให้ผู้ใช้ลงชื่อเข้าใช้ IdP โดยใช้ login_url
ที่ IdP ระบุผ่านแท็บที่กำหนดเองของ Chrome (CCT)
หากผู้ใช้ตรวจสอบสิทธิ์อีกครั้งด้วยบัญชีที่กลับมาใช้ UI การเปิดเผยข้อมูลจะไม่แสดง
หากต้องการลงทะเบียนช่วงทดลองใช้ต้นทาง โปรดดูวิธีการสำหรับ Button Mode API บนเดสก์ท็อป หากคุณลงชื่อสมัครใช้ช่วงทดลองใช้เวอร์ชันเดิมบนเดสก์ท็อปแล้ว ฟีเจอร์นี้จะพร้อมใช้งานโดยอัตโนมัติใน Chrome บน Android ตั้งแต่ Chrome เวอร์ชัน 128 เป็นต้นไป
Continuation API Bundle สําหรับ Chrome ใน Android
ตั้งแต่ Chrome เวอร์ชัน 128 เป็นต้นไป Continuation API Bundle จะพร้อมใช้งานใน Chrome บน Android โดยเป็นส่วนหนึ่งของช่วงทดลองใช้จากต้นทาง ซึ่งต่อจากการทดลองใช้ครั้งแรกบนเดสก์ท็อป กลุ่มประกอบด้วยฟีเจอร์ FedCM หลายรายการ ได้แก่ Continuation API, Parameters API, Fields API, configURL หลายรายการ และป้ายกํากับบัญชีที่กําหนดเอง
Continuation API เปิดใช้ขั้นตอนการลงชื่อเข้าใช้แบบหลายขั้นตอน Parameters API อนุญาตให้ส่งพารามิเตอร์เพิ่มเติมไปยัง IdP Fields API ช่วยให้ RP ขอแอตทริบิวต์บัญชีที่เฉพาะเจาะจงสำหรับ UI การเปิดเผยข้อมูลในกล่องโต้ตอบ FedCM ได้ นอกจากนี้ configURL
หลายรายการยังรองรับไฟล์การกําหนดค่าหลายไฟล์สําหรับ IdP และป้ายกํากับบัญชีที่กําหนดเองช่วยให้ IdP กำกับเนื้อหาบัญชีเพื่อให้ RP กรองบัญชีตามป้ายกำกับเหล่านี้ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเกจ Continuation API ได้ที่บล็อกโพสต์เกี่ยวกับแพ็กเกจ Continuation API ในเดสก์ท็อป หากต้องการลงทะเบียนสำหรับช่วงทดลองใช้ต้นฉบับ ให้ทำตามวิธีการเหล่านี้ หากคุณลงชื่อสมัครใช้ช่วงทดลองใช้เวอร์ชันเดิมบนเดสก์ท็อปแล้ว ฟีเจอร์เหล่านี้จะพร้อมใช้งานใน Chrome บน Android โดยอัตโนมัติตั้งแต่ Chrome เวอร์ชัน 128 เป็นต้นไป
มีส่วนร่วมและแชร์ความคิดเห็น
หากมีความคิดเห็นหรือพบปัญหา คุณสามารถยื่นปัญหาได้ เราจะอัปเดตคู่มือนักพัฒนาซอฟต์แวร์ FedCM หลักเป็นปัจจุบันอยู่เสมอ รวมถึงหน้าบันทึกการอัปเดตที่รวบรวมไว้