ตั้งแต่ 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 ด้วยตนเอง
หากต้องการทดสอบ IdP หลายรายการใน 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 เป็นต้นไป
หากต้องการลองใช้ผู้ให้บริการระบุตัวตนหลายราย RP สามารถลงทะเบียนต้นทางและเรียกใช้ช่วงทดลองใช้ต้นทางของบุคคลที่หนึ่ง นอกจากนี้ IdP ยังลงทะเบียนช่วงทดลองใช้ต้นทางของบุคคลที่สามและทำให้ฟีเจอร์ IdP หลายรายการพร้อมใช้งานสำหรับ RP ทั้งหมดโดยใช้ Javascript SDK ได้อีกด้วย
ขั้นตอนในการเข้าร่วมการทดลองใช้จากต้นทาง
- ไปที่หน้าการลงทะเบียนช่วงทดลองใช้ Multi IdP API จากต้นทาง 2. คลิกปุ่มลงทะเบียนและกรอกแบบฟอร์มเพื่อขอโทเค็น
- หากต้องการลงทะเบียนช่วงทดลองใช้จากต้นทางของบุคคลที่หนึ่ง ให้ป้อนต้นทางของ RP ในช่อง "ต้นทางของเว็บ" สําหรับช่วงทดลองใช้ต้นทางบุคคลที่สาม ให้ป้อนต้นทางของ JavaScript SDK ของ IdP แล้วเลือกช่อง "การจับคู่บุคคลที่สาม"
- คลิกส่ง
- ระบุโทเค็นที่ออกในหน้า RP ดังนี้
- สําหรับผู้เข้าร่วมการทดสอบแหล่งที่มาระดับ 1 บุคคล
- ใช้เป็นเมตาแท็กใน
<head>
:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- ใช้เป็นส่วนหัว HTTP:Origin-Trial: TOKEN_GOES_HERE
- สําหรับผู้เข้าร่วมการทดลองใช้แหล่งที่มาของบุคคลที่สาม ให้ทำดังนี้ - ระบุโทเค็นแบบเป็นโปรแกรม
- สําหรับผู้เข้าร่วมการทดสอบแหล่งที่มาระดับ 1 บุคคล
- ใช้เป็นเมตาแท็กใน
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, Multiple configURLs และ Custom Account Labels
Continuation API เปิดใช้ขั้นตอนการลงชื่อเข้าใช้แบบหลายขั้นตอน Parameters API อนุญาตให้ส่งพารามิเตอร์เพิ่มเติมไปยัง IdP Fields API ช่วยให้ RP ขอแอตทริบิวต์บัญชีที่เฉพาะเจาะจงสำหรับ UI การเปิดเผยข้อมูลในกล่องโต้ตอบ FedCM ได้ นอกจากนี้ configURL
หลายรายการยังรองรับไฟล์การกําหนดค่าหลายไฟล์สําหรับ IdP และป้ายกํากับบัญชีที่กําหนดเองช่วยให้ IdP กำกับเนื้อหาบัญชีเพื่อให้ RP กรองบัญชีตามป้ายกำกับเหล่านี้ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเกจ Continuation API ได้ที่บล็อกโพสต์เกี่ยวกับแพ็กเกจ Continuation API ในเดสก์ท็อป หากต้องการลงทะเบียนช่วงทดลองใช้ของ Origin ให้ทำตามวิธีการเหล่านี้ หากคุณลงชื่อสมัครใช้ช่วงทดลองใช้เวอร์ชันเดิมบนเดสก์ท็อปแล้ว ฟีเจอร์เหล่านี้จะพร้อมใช้งานใน Chrome บน Android โดยอัตโนมัติตั้งแต่ Chrome 128 เป็นต้นไป
มีส่วนร่วมและแชร์ความคิดเห็น
หากมีความคิดเห็นหรือพบปัญหา คุณสามารถยื่นปัญหาได้ เราจะอัปเดตคู่มือนักพัฒนาแอป FedCM ฉบับแคนนอนิกเป็นระยะๆ รวมถึงหน้าบันทึกการอัปเดตที่รวบรวมไว้