החל מ-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
ו-Custom Account Labels.
גרסת מקור לניסיון: Multi IdP API
התכונה מאפשרת למשתמשים לבחור חשבון מתוך קבוצה של ספקי IdP נתמכים, וספקי ה-RP נהנים משיעורי כניסה ורשמה גבוהים יותר. אם המשתמש מחובר באמצעות כמה ספקי IdP, הוא יתבקש להיכנס ל-RP באמצעות אחד מה-IdP.
המערכת קובעת את סדר העדיפויות של ספקי ה-IdP על סמך החשבונות הקיימים של המשתמש וחותמות הזמן המשויכות אליהם.
- אם המשתמש כבר נכנס ל-RP באמצעות IdP ספציפי (כלומר, יש לו 'חשבון חוזר'), שירותי ה-IdP האלה יופיעו ברשימה קודם.
- בתוך החשבונות שחוזרים, ה-IdPs ממוינים לפי חותמת הזמן של השימוש האחרון בהם, וה-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.
השתתפות בתוכנית הניסיון למקורות
גרסאות מקור לניסיון מאפשרות לכם לנסות תכונות חדשות ולתת משוב על נוחות השימוש, הפרקטיות והיעילות שלהן. מידע נוסף זמין במאמר תחילת השימוש בגרסת ה-Origin.
כדי לנסות את התכונה Multi IdP, צריך להירשם לגרסת המקור לניסיון החל מ-Chrome 128.
כדי לנסות את Multi IdP, ספקי RP יכולים לרשום את המקור שלהם ולהריץ גרסת ניסיון של מקור מאינטראקציה ישירה (first-party). בנוסף, ה-IdP יכול להירשם לתקופת ניסיון של מקור צד שלישי כדי שהתכונה Multi IdP תהיה זמינה לכל ספקי ה-RP שלו באמצעות ערכות SDK של Javascript.
כדי להשתתף בתוכנית הניסיון למקורות:
- עוברים אל דף הרישום לגרסת המקור לניסיון של Multi IdP API. 2. לוחצים על הלחצן Register וממלאים את הטופס כדי לבקש אסימון.
- כדי להירשם לתקופת ניסיון של מקור צד ראשון, מזינים את המקור של ה-RP בשדה 'מקור האתר'. לתקופת ניסיון במקור של צד שלישי, מזינים את המקור של ה-SDK של JavaScript של ה-IdP ומסמנים את התיבה 'התאמה של צד שלישי'.
- לוחצים על שליחה.
- מספקים את הטוקן שהונפק בדף של RP:
- למשתתפים בתוכנית הניסוי למקורות נתונים מאינטראקציה ישירה (First-Party):
- בתור meta tag ב-
<head>
:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- בתור כותרת HTTP:Origin-Trial: TOKEN_GOES_HERE
- למשתתפים בתוכנית הניסיון של מקורות צד שלישי: - על ידי מתן אסימון באופן פרוגרמטי.
- למשתתפים בתוכנית הניסוי למקורות נתונים מאינטראקציה ישירה (First-Party):
- בתור meta tag ב-
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 להוסיף הערות לחשבונות כדי שספקי ה-RP יוכלו לסנן אותם לפי התוויות האלה.
מידע נוסף על חבילת Continuation API זמין בפוסט בבלוג בנושא חבילת Continuation API במחשב. כדי להירשם לגרסת הטרום-השקה, פועלים לפי ההוראות האלה. אם כבר נרשמתם לתקופת הניסיון המקורית במחשב, התכונות יהיו זמינות לכם באופן אוטומטי ב-Chrome ל-Android החל מגרסה 128.
יצירת מעורבות ושיתוף משוב
אם יש לכם משוב או נתקלתם בבעיות, אתם יכולים לשלוח דיווח על בעיה. אנחנו נמשיך לעדכן את המדריך הקנוני למפתחים של FedCM, יחד עם דף יומני העדכונים המצטברים.