החל מ-Chrome 128, Multi-IdP API מתחיל תקופת ניסיון בגרסת המקור במחשב, ו-Button Mode API ו-Continuation bundle מתחילים תקופת ניסיון בגרסת המקור ב-Android. בעזרת התכונה Multi IdP, מפתחים יכולים לציין מערך של כמה ספקי זהויות נתמכים בקריאה יחידה של get()
. ב-Button Mode API יש ממשק משתמש חדש. באמצעות Button Mode API, ספקי הזהויות יכולים להשתמש ב-FedCM API גם אם למשתמשים שלהם אין סשנים פעילים של IdP בזמן הקריאה ל-API. חבילת ה-Continuation מורכבת מ-Continuation API ומ-Parameters API, שמאפשרים חוויה דומה לתהליך ההרשאה של OAuth, שכוללת תיבת דו-שיח של הרשאה שסופקו על ידי ה-IdP. החבילה כוללת גם שינויים אחרים, כמו Fields API, Multiple configURL
ותוויות חשבון בהתאמה אישית.
גרסת מקור לניסיון: Multi IdP API
התכונה מאפשרת למשתמשים לבחור חשבון מתוך קבוצה של ספקי IdP נתמכים, וספקי RP נהנים משיעורי כניסה ורשמה גבוהים יותר. אם המשתמש מחובר באמצעות כמה ספקי IdP, הוא יתבקש להיכנס ל-RP באמצעות אחד מה-IdP.
המערכת קובעת את סדר העדיפויות של ספקי ה-IdP על סמך החשבונות הקיימים של המשתמש וחותמות הזמן המשויכות אליהם.
- אם המשתמש כבר נכנס ל-RP באמצעות IdP ספציפי (כלומר, יש לו 'חשבון חוזר'), ספקי ה-IdP האלה יופיעו ברשימה קודם.
- בתוך החשבונות החוזרים, ספקי ה-IdP ממוינים לפי חותמת הזמן של השימוש האחרון בהם, כאשר ספק ה-IdP האחרון שהיה בשימוש מופיע בראש הרשימה. במקרים מסוימים, יכול להיות של-Chrome לא יהיו נתוני חותמת זמן לחשבון חוזר. הסיבה לכך היא כנראה שהמשתמש נכנס לחשבון לפני שהיומנים של חותמות הזמן הוטמעו ב-FedCM. החשבונות האלה מופיעים מתחת לחשבונות שיש להם חותמות זמן.
- אם למשתמש אין חשבונות חוזרים עם ספקי IdP, המערכת תשתמש בסדר שסופק על ידי RP.
FedCM מאפשר אימות מחדש אוטומטי אם המפתח מבקש זאת, ויש חשבון יחיד שחוזרים אליו. במקרה של Multi IdP, אם יש חשבונות חוזרים בכמה ספקי IdP, לא יתבצע אימות מחדש של המשתמש באופן אוטומטי. חשבון חוזר הוא דרישה חשובה לאימות מחדש אוטומטי. הדפדפן יתחיל אימות חוזר אוטומטי רק אחרי שהוא יזהה את החשבון באופן מפורש. המשמעות היא שהמשתמש חייב להשתמש ב-FedCM בעבר עם החשבון הספציפי הזה ב-RP הזה.
אם סטטוס ההתחברות של המשתמש מוגדר כ'לא מחובר' ב-IdP, קריאה ל-FedCM לא מאחזרת חשבונות ב-IdP הזה. באופן דומה, אם המשתמש לא מחובר לכל ספקי ה-IdP הזמינים, ההודעה של FedCM לכניסה לא תוצג באופן אוטומטי במצב הווידג'ט.
אם סטטוס ההתחברות ששמור בדפדפן של IdP מסוים הוא 'מחובר', אבל בקשת האחזור לא החזירה חשבונות ל-IdP הזה (לדוגמה, אם תוקף הסשן של המשתמש פג, אבל סטטוס ההתחברות עדיין לא עודכן בדפדפן), ממשק המשתמש של אי ההתאמה יוצג ל-IdP, עם הצעה למשתמש להיכנס באמצעות ה-IdP שלא תואם.
מידע נוסף על סטטוס ההתחברות זמין במסמכי התיעוד. פרטים נוספים על ההטמעה זמינים במדריך למפתחים.
גרסת מקור לניסיון: Multi IdP API
אתם יכולים לנסות את Multi IdP API בתור משתמשים בגרסת ה-RP לדוגמה, או בתור מפתחים באמצעות Chrome מגרסה 128 ואילך.
לנסות את התכונה כמשתמשים
כדאי לנסות בעצמכם כמשתמשים. ודא ש:
- Chrome לא מוגדר לחסום הנחיות כניסה של צד שלישי בדף:
chrome://settings/content/federatedIdentityApi
. - נכנסתם לחשבון בכמה ספקי IdP לדוגמה. פועלים לפי ההוראות בדף ההדגמה.
שימו לב: כדי לנסות את Multi-IdP באתרים שהמקור שלהם לא רשום לניסיון המקור, צריך להפעיל את דגל התכונה בקטע chrome://flags/#fedcm-multi-idp
.
לנסות את התכונה כמפתחים
אם לספק ההתחברות יש ערכת SDK של JavaScript שמוטמעת ב-RP (מומלץ), הוא יכול להטמיע את הקריאה navigator.credentials.get()
להפעלת מספר ספקי IdP, ומפתחי ה-RP לא צריכים לשנות את הקוד שלהם. אחרת, ה-RP צריך לבצע קריאה ל-FedCM API בעצמו.
כדי לבדוק את Multi IdPs ב-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.
השתתפות בגרסת המקור לניסיון
גרסאות מקור לניסיון מאפשרות לכם לנסות תכונות חדשות ולתת משוב על נוחות השימוש בהן, על הפרקטיות שלהן ועל היעילות שלהן. מידע נוסף זמין במאמר תחילת העבודה עם ניסויים במקור.
כדי לנסות את התכונה 'מספר ספקי IdP', צריך להירשם לגרסת הבטא של המקור החל מגרסת Chrome 128.
כדי לנסות את Multi IdP, ספקי RP יכולים לרשום את המקור שלהם ולהריץ תקופת ניסיון של מקור מאינטראקציה ישירה (first-party). בנוסף, ה-IdP יכול להירשם לתקופת ניסיון של מקור צד שלישי ולאפשר את התכונה 'מספר ספקי אימות הזהות (IdP)' לכל ספקי ה-RP שלו באמצעות ערכות SDK של JavaScript.
כדי להשתתף בתוכנית הניסיון למקורות:
- נכנסים לדף הרישום לגרסת המקור לניסיון של Multi IdP API.
- לוחצים על הלחצן Register וממלאים את הטופס כדי לבקש אסימון.
- כדי להירשם לתקופת ניסיון של מקור צד ראשון, מזינים את המקור של ה-RP בשדה 'מקור האינטרנט'. לתקופת ניסיון ממקור של צד שלישי, מזינים את המקור של ה-SDK של JavaScript של ה-IdP ומסמנים את התיבה 'התאמה לצד שלישי'.
- לוחצים על שליחה.
- מספקים את הטוקן שהונפק בדף של RP:
- למשתתפים בגרסת מקור לניסיון עם נתונים מאינטראקציה ישירה:
- כמטא תג ב-
<head>
:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- ככותרת HTTP:
Origin-Trial: TOKEN_GOES_HERE
- כמטא תג ב-
- למשתתפים בתקופת ניסיון של מקור צד שלישי:
- על ידי מתן טוקן באופן פרוגרמטי.
- למשתתפים בגרסת מקור לניסיון עם נתונים מאינטראקציה ישירה:
Button Mode API ל-Chrome ב-Android
החל מגרסה 128 של Chrome, תתחיל גרסת המקור לניסיון של Button Mode API ב-Chrome ל-Android, לאחר הניסיון הראשוני במחשב. באמצעות Button Mode API, ספקי זהויות יכולים להשתמש ב-FedCM API גם אם המשתמשים שלהם לא מחוברים ל-IdP בזמן הקריאה ל-API. תהליך הכניסה מופעל על ידי תנועת משתמש, שמשקפת טוב יותר את הכוונה של המשתמש.
ב-Chrome 128 נוספה תכונה חדשה שמאפשרת ל-IdPs לכלול את סמל הלוגו הרשמי של ה-RP ישירות בתשובה של נקודת הקצה של המטא-נתונים של הלקוח. כך אפשר לשפר את ממשק המשתמש במכשירים ניידים במצב לחצן.
בדומה למיתוג של ה-IdP בקובץ התצורה, אפשר להגדיר את הסמלים של ה-RP בצד ה-IdP ולהחזיר אותם בתשובה client_metadata_endpoint
באופן הבא:
"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).
אם המשתמש מבצע אימות מחדש באמצעות חשבון חוזר, ממשק המשתמש של הגילוי הנאות לא יוצג.
כדי להירשם לגרסת המקור לניסיון, אפשר לעיין בהוראות לButton Mode API במחשב. אם כבר נרשמתם לתקופת הניסיון המקורית במחשב, התכונה תהיה זמינה לכם באופן אוטומטי ב-Chrome ל-Android החל מגרסה 128.
חבילת Continuation API ל-Chrome ב-Android
החל מגרסה 128 של Chrome, חבילת Continuation API תהיה זמינה ב-Chrome ל-Android כחלק מגרסת המקור לניסיון, לאחר הניסיון הראשוני במחשב. החבילה מורכבת מכמה תכונות של FedCM, כולל Continuation API, Parameters API, Fields API, Multiple configURLs ו-Custom Account Labels.
Continuation API מאפשר תהליכי כניסה בכמה שלבים. Parameters API מאפשר להעביר פרמטרים נוספים ל-IdP. Fields API מאפשר ל-RP לבקש מאפייני חשבון ספציפיים לממשק המשתמש של הגילוי הנאות בתיבת הדו-שיח של FedCM. בנוסף, configURL
מרובים תומכים במספר קובצי תצורה של IdP, ותוויות חשבון בהתאמה אישית מאפשרות ל-IdPs להוסיף הערות לחשבונות כדי ש-RPs יוכלו לסנן אותם לפי התוויות האלה.
מידע נוסף על חבילת Continuation API זמין בפוסט בבלוג בנושא חבילת Continuation API במחשב. כדי להירשם לגרסת הטרום, פועלים לפי ההוראות האלה. אם כבר נרשמתם לתקופת הניסיון המקורית במחשב, התכונות יהיו זמינות לכם באופן אוטומטי ב-Chrome ל-Android החל מגרסה 128.
יצירת מעורבות ושיתוף משוב
אם יש לכם משוב או אם נתקלת בבעיות, אתם יכולים לשלוח דיווח על בעיה. אנחנו נמשיך לעדכן את המדריך הקנוני למפתחים של FedCM, יחד עם דף יומני העדכונים המצטברים.