החל מגרסה 128 של Chrome, אנחנו מתחילים ב-Multi-IdP API מקור גרסת מקור לניסיון במחשב, ו-Button Mode API וחבילת המשך מתחילים תקופת מקור לניסיון ב-Android. בעזרת התכונה Multi IdP, המפתחים יכולים לציין מערך של כמה ספקי זהויות נתמכים בקריאה אחת ל-get()
. ב-Button Mode API יש ממשק משתמש חדש. באמצעות ה-button Mode API, ספקי זהויות יכולים להשתמש ב-FedCM API גם אם למשתמשים שלהם אין סשנים פעילים של IdP בקריאה ל-API. חבילת ההמשך כוללת את Continuation API ואת Parameters API, שמאפשרים חוויה דמוית תהליך הרשאה ב-OAuth עם תיבת דו-שיח עם הרשאה ב-IdP. החבילה כוללת גם שינויים אחרים, כמו Fields API, Multiple configURL
ותוויות חשבון בהתאמה אישית.
גרסת מקור לניסיון: Multi IdP API
התכונה מאפשרת למשתמשים לבחור חשבון מתוך קבוצה של ספקי IdP נתמכים, והגורמים המוגבלים (RP) יכולים ליהנות משיעורי כניסה והרשמה גבוהים יותר. אם המשתמש מחובר באמצעות כמה ספקי IdP, הוא יתבקש להיכנס ל-RP באמצעות אחד מה-IdP.
ספקי ה-IdP מקבלים עדיפות על סמך החשבונות הקיימים של המשתמש וחותמות הזמן שמשויכות אליהם.
- אם המשתמש התחבר בעבר ל-RP באמצעות IdP ספציפי (כלומר, יש לו 'חשבון חוזר'), ספקי ה-IdP האלה יופיעו ראשונים.
- החשבונות החוזרים ממוינים עוד יותר לפי חותמת הזמן של השימוש האחרון שלהם, כאשר ה-IdP האחרון שהיה בשימוש מופיע בראש הרשימה. במקרים מסוימים, יכול להיות שאין ב-Chrome נתוני חותמת זמן של חשבון חוזר. סביר להניח שהסיבה לכך היא שהמשתמש נכנס לחשבון לפני שהטמיעו את יומני חותמת הזמן ב-FedCM. החשבונות האלה מפורטים מתחת לחשבונות שיש להם חותמות זמן.
- אם למשתמש אין חשבונות חוזרים עם ספקי IdP, המערכת תשתמש בסדר שסופק על ידי ה-RP.
FedCM מאפשר אימות מחדש אוטומטי אם המפתח מבקש זאת ואם יש חשבון חוזר אחד. במקרה של ריבוי 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) יכול לרשום את המקור שלו ולהריץ תקופת ניסיון של מקור צד ראשון. אפשר גם שה-IdP יירשם לגרסת מקור לניסיון של צד שלישי, והתכונה Multi IdP תהיה זמינה לכל הגורמים המוגבלים שמשתמשים בערכות JavaScript SDK.
השלבים להשתתפות בגרסת המקור לניסיון:
- עוברים לדף הרישום לגרסת המקור לניסיון של Multi IdP API.
- לוחצים על הלחצן Register וממלאים את הטופס כדי לבקש אסימון.
- כדי להירשם לתקופת ניסיון של מקור צד ראשון, מזינים את המקור של ה-RP בשדה 'מקור האינטרנט'. עבור גרסת מקור לניסיון של צד שלישי, מזינים את המקור של JavaScript SDK של ה-IdP ומסמנים את התיבה 'התאמה של צד שלישי'.
- לוחצים על שליחה.
- מספקים את האסימון שהונפק בדף RP:
- למשתתפים בגרסת המקור לניסיון מאינטראקציה ישירה:
- כמטא תג ב-
<head>
:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- ככותרת HTTP:
Origin-Trial: TOKEN_GOES_HERE
- כמטא תג ב-
- למשתתפים בתוכנית הניסיון של מקור צד שלישי:
- על ידי מתן טוקן באופן פרוגרמטי.
- למשתתפים בגרסת המקור לניסיון מאינטראקציה ישירה:
ממשק ה-API של מצב הלחצן ל-Chrome ב-Android
החל מגרסה 128 של Chrome, תתחיל גרסת המקור לניסיון של Button Mode API ב-Chrome ל-Android, לאחר הניסיון הראשוני במחשב. ספקי זהויות יכולים להשתמש ב-FedCM API באמצעות ממשק ה-API של מצב הלחצן, גם אם המשתמשים שלהם מנותקים מה-IdP בקריאה ל-API. תהליך הכניסה מתחיל על ידי תנועת משתמש, שמשקפת בצורה טובה יותר את כוונת המשתמש.
ב-Chrome 128 הוספנו תכונה חדשה שמאפשרת לספקי IdP לכלול את סמל הלוגו הרשמי של הגורם המוגבל ישירות בתשובה של נקודת הקצה של המטא-נתונים של הלקוח. כך אפשר לשפר את ממשק המשתמש במכשירים ניידים במצב לחצן.
בדומה למיתוג של ה-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. בנוסף, אפשר להשתמש ב-Multiple configURL
עם כמה קובצי תצורה של IdP, ותוויות חשבון בהתאמה אישית מאפשרות ל-IdPs להוסיף הערות לחשבונות כדי ש-RPs יוכלו לסנן אותם לפי התוויות האלה.
מידע נוסף על חבילת Continuation API זמין בפוסט בבלוג בנושא חבילת Continuation API במחשב. כדי להירשם לגרסת המקור לניסיון, פועלים לפי ההוראות האלה. אם כבר נרשמת לגרסת המקור לניסיון במחשב, התכונות יהיו זמינות לך באופן אוטומטי ב-Chrome ב-Android החל מ-Chrome 128.
יצירת מעורבות ושיתוף משוב
אם אתם רוצים לשלוח משוב או נתקלתם בבעיות, אתם יכולים לדווח על בעיה. אנחנו נעדכן את המדריך הקנוני למפתחים של FedCM, וגם את דף יומני העדכון שנצבר.