המדריך הזה יעזור לכם להבין את השינויים באפליקציית האינטרנט שלכם בעקבות Federated Credentials Management API (FedCM).
כש-FedCM מופעל, הדפדפן מציג הנחיות למשתמשים ולא נעשה שימוש בקובצי cookie של צד שלישי.
סקירה כללית
FedCM מאפשר תהליכי כניסה פרטיים יותר בלי צורך בקובצי cookie של צד שלישי. הדפדפן קובע את הגדרות המשתמש, מציג הנחיות למשתמש ופונה לספק זהויות כמו Google רק אחרי קבלת הסכמה מפורשת מהמשתמש.
ברוב האתרים, ההעברה מתבצעת בצורה חלקה באמצעות עדכונים תואמים לאחור לספריית JavaScript של Google Identity Services.
עדכונים לגבי התכונה 'כניסה אוטומטית'
גרסת הבטא של Federated Credential Management (FedCM) ל-Google Identity Services הושקה באוגוסט 2023. מפתחים רבים בדקו את ה-API וסיפקנו משוב חשוב.
אחת התשובות שקיבלנו מהמפתחים היא לגבי הדרישה לתנועת משתמש בתהליך הכניסה האוטומטי של FedCM. כדי לשפר את הפרטיות, משתמשי Chrome נדרשים לאשר מחדש את רצונם להיכנס לאתר באמצעות חשבון Google בכל מכונה של Chrome, גם אם המשתמש אישר את האתר לפני ההשקה של FedCM. כדי להוכיח את כוונתו של המשתמש להיכנס לחשבון, הוא צריך ללחוץ פעם אחת על ההנחיה 'הקשה אחת' או על תהליך הלחצן באמצעות FedCM. השינוי הזה עלול לגרום להפרעה ראשונית בשיעורי ההמרה של כניסה אוטומטית באתרים מסוימים.
לאחרונה, בגרסת M121, בוצע ב-Chrome שינוי בממשק המשתמש של תהליך הכניסה האוטומטי ל-FedCM. נדרש אישור חוזר רק כשקובצי cookie של צד שלישי מוגבלים. כלומר:
כניסה אוטומטית ל-FedCM לא מחייבת אישור מחדש למשתמשים חוזרים. אם המשתמשים יאשרו מחדש באמצעות ממשק המשתמש של FedCM, האישור מחדש ייספר כחלק מהדרישה להבעת הסכמה מצד המשתמש בתקופת המעבר מ-3PCD.
הכניסה האוטומטית ל-FedCM תבדוק את סטטוס האישור מחדש כשהמשתמשים מגבילים באופן ידני את קובצי ה-Cookie של הצד השלישי היום, או כברירת מחדל בגרסאות עתידיות של Chrome.
בעקבות השינוי הזה, אנחנו ממליצים לכל המפתחים של כניסה אוטומטית לעבור ל-FedCM בהקדם האפשרי, כדי לצמצם את השיבושים בשיעורי ההמרות של כניסה אוטומטית.
בתהליך הכניסה האוטומטי, ה-JavaScript של GIS לא יפעיל את FedCM בדפדפני Chrome ישנים יותר (לפני M121), גם אם בחרתם להביע הסכמה ל-FedCM באתר.
הבדלים בתהליך שעובר המשתמש
חוויית השימוש ב-One Tap באמצעות FedCM ובלי FedCM דומה, עם הבדלים קלים בלבד.
משתמש חדש שביצע ביקור יחיד
כשמשתמשים ב-FedCM, ב-One Tap מוצג שם הדומיין ברמה העליונה במקום שם האפליקציה.
שימוש ב-FedCM | ללא FedCM |
---|---|
![]() ![]() |
![]() ![]() |
משתמש חוזר שהיה לו סשן יחיד (עם כניסה אוטומטית מושבתת)
כשמשתמשים ב-FedCM, ב-One Tap מוצג שם הדומיין ברמה העליונה במקום שם האפליקציה.
שימוש ב-FedCM | ללא FedCM |
---|---|
![]() ![]() |
![]() ![]() |
משתמש חוזר שהיה לו סשן יחיד (עם כניסה אוטומטית מופעלת)
באמצעות FedCM, המשתמשים יכולים ללחוץ על X כדי לבטל את הכניסה האוטומטית תוך 5 שניות, במקום ללחוץ על הלחצן Cancel.
שימוש ב-FedCM | ללא FedCM |
---|---|
![]() ![]() |
![]() ![]() |
מספר סשנים
כשמשתמשים ב-FedCM, ב-One Tap מוצג שם הדומיין ברמה העליונה במקום שם האפליקציה.
שימוש ב-FedCM | ללא FedCM |
---|---|
![]() ![]() |
![]() ![]() |
בדף הזה מפורטות תהליכי השימוש העיקריים של המשתמשים בתהליך הלחצן של FedCM.
לפני שמתחילים
בודקים שהגרסה וההגדרות של הדפדפן תומכים ב-FedCM API. מומלץ לעדכן לגרסה האחרונה.
FedCM API זמין ב-Chrome 117 ואילך.
ההגדרה כניסה של צד שלישי מופעלת ב-Chrome. ההגדרה משפיעה רק על One Tap ואין לה השפעה על תהליך לחיצת הלחצן ב-FedCM.
אם גרסת דפדפן Chrome שלכם היא 119 ואילך, פותחים את
chrome://flags
ומפעילים את התכונה הניסיוניתFedCmWithoutThirdPartyCookies
. אין צורך לבצע את השלב הזה בדפדפן Chrome בגרסה 120 ואילך.
העברת אפליקציית האינטרנט
כדי להפעיל את FedCM, להעריך את ההשפעה הפוטנציאלית של ההעברה ולבצע שינויים באפליקציית האינטרנט הקיימת, פועלים לפי השלבים הבאים:
1. מוסיפים דגל בוליאני כדי להפעיל את FedCM ל-One Tap במהלך האימות באמצעות:
HTML, מגדירים את המאפיין
data-use_fedcm_for_prompt
לערךtrue
.ב-JavaScript, מגדירים את
use_fedcm_for_prompt
לערךtrue
באובייקטIdConfiguration
.
2. מוסיפים דגל בוליאני כדי להפעיל את FedCM ללחצן במהלך האימות באמצעות: {:#fedcm_button_flag} (אופציונלי)
ב-HTML, מגדירים את המאפיין
data-use_fedcm_for_button
לערךtrue
כדי להפעיל את תהליך הקליק על הלחצן ב-FedCM. כשהתהליך של לחצן FedCM מופעל בלבד, אפשר גם להגדיר את המאפייןdata-use_fedcm_for_button
לערךtrue
כדי להפעיל את התכונה החדשה בחירה אוטומטית.JavaScript, מגדירים את
use_fedcm_for_button
לערךtrue
באובייקטIdConfiguration
כדי להפעיל את תהליך הלחצן של FedCM. אם מפעילים רק את תהליך הלחצן של FedCM, אפשר גם להגדיר את המאפייןbutton_auto_select
לערךtrue
כדי להפעיל את התכונה החדשה בחירה אוטומטית.
3. מסירים את השימוש בשיטות isDisplayMoment()
, isDisplayed()
, isNotDisplayed()
ו-getNotDisplayedReason()
ל-One Tap בקוד.
כדי לשפר את פרטיות המשתמשים, פונקציית ה-call back google.accounts.id.prompt
כבר לא מחזירה התראות על רגעים מיוחדים להצגה באובייקט PromptMomentNotication
. מסירים כל קוד שמבוסס על השיטות שקשורות לרגע התצוגה. אלה השיטות isDisplayMoment()
, isDisplayed()
, isNotDisplayed()
ו-getNotDisplayedReason()
.
4. מסירים את השימוש בשיטה getSkippedReason()
ל-One Tap בקוד.
אמנם רגע הדילוג, isSkippedMoment()
, עדיין יקרא ל-callback google.accounts.id.prompt
באובייקט PromptMomentNotication
, אבל לא תסופק סיבה מפורטת. מסירים מהקוד כל קוד שמבוסס על השיטה getSkippedReason()
.
חשוב לשים לב שההתראה על ביטול הרגע, isDismissedMoment()
, והשיטה של הסיבה המפורטת שמשויכת אליה, getDismissedReason()
, לא משתנות כש-FedCM מופעל.
5. מסירים את מאפייני הסגנון position
מ-data-prompt_parent_id
ומ-intermediate_iframes
כדי להשתמש בתכונה 'הקשה אחת'.
הדפדפן קובע את הגודל והמיקום של ההנחיות למשתמשים. אין תמיכה במיקומים מותאמים אישית של One Tap במחשב.
6. עדכון של פריסת הדף, אם צריך, כדי להשתמש בתכונה 'הקשה אחת'.
הדפדפן קובע את הגודל והמיקום של ההנחיות למשתמשים. בהתאם למבנה של דפים מסוימים, יכול להיות שחלק מהתוכן יוצג בשכבה עליונה כי אין תמיכה במיקומים מותאמים אישית של מודעות One Tap במחשב, כמו מאפיין סגנון, data-prompt_parent_id
, intermediate_iframes
, iframe בהתאמה אישית ודרכים יצירתיות אחרות.
שינוי הפריסה של הדף כדי לשפר את חוויית המשתמש כשמידע חשוב מוסתר. אל תבנו את חוויית המשתמש סביב ההנחיה של One Tap, גם אם אתם מניחים שהיא במיקום ברירת המחדל. מאחר ש-FedCM API מתבצע באמצעות דפדפן, מיקום ההנחיה עשוי להיות שונה מעט אצל ספקים שונים של דפדפנים.
7. מוסיפים את המאפיין allow="identity-credentials-get"
למסגרת ההורה אם אפליקציית האינטרנט מבצעת קריאות ל-One Tap או ל-Button API מ-iframes ממקורות שונים.
iframe נחשב כמקור חוצה אם המקור שלו לא זהה לחלוטין למקור ההורה. לדוגמה:
- דומיינים שונים:
https://example1.com
ו-https://example2.com
- דומיינים שונים ברמה העליונה:
https://example.uk
ו-https://example.jp
- תת-דומיינים:
https://example.com
ו-https://login.example.com
כשמשתמשים ב-One Tap ב-iframe ממקורות שונים, המשתמשים עלולים להיתקל בחוויה מבלבלת. בהודעה של One Tap מוצג שם הדומיין ברמה העליונה, ולא שם ה-iframe, כצעד אבטחה למניעת איסוף פרטי כניסה. עם זאת, האסימונים המזהים מונפקים למקור של ה-iframe. פרטים נוספים זמינים בבעיה הזו ב-GitHub.
מכיוון שהפער הזה עלול להטעות, השימוש ב-One Tap רק ב-iframes ממקורות שונים אבל באותו אתר הוא שיטה נתמכת. לדוגמה, דף בדומיין ברמה העליונה https://www.example.com
שמשתמש ב-iframe כדי להטמיע דף עם One Tap ב-https://login.example.com
. בהודעה של הקשה אחת תוצג ההודעה "כניסה אל example.com באמצעות google.com".
בכל מקרה אחר, כמו דומיינים שונים, אין תמיכה. במקום זאת, כדאי לשקול שיטות שילוב חלופיות כמו:
- הטמעת הלחצן 'כניסה באמצעות חשבון Google' בלי הפעלת FedCM.
- הטמעת One Tap בדומיין ברמה העליונה
- שימוש בנקודות הקצה של Google OAuth 2.0 לשילוב מותאם אישית יותר.
- אם אתם מטמיעים אתר של צד שלישי בתוך iframe ואתם לא יכולים לשנות את ההטמעה של התכונה 'הקשה אחת', תוכלו למנוע את הצגת ההנחיה 'הקשה אחת' בתוך ה-iframe. כדי לעשות זאת, מסירים את המאפיין
allow="identity-credentials-get"
מתג ה-iframe בפריים ההורה. הפעולה הזו תמנע את הצגת ההנחיה, ואז תוכלו להפנות את המשתמשים ישירות לדף הכניסה של האתר המוטמע.
כשמפעילים את One Tap או את Button API מ-iframes ממקורות שונים, צריך להוסיף את המאפיין allow="identity-credentials-get"
לכל תג iframe
של מסגרת הורה:
<iframe src="https://your.cross-origin/onetap.page " allow="identity-credentials-get"></iframe>
אם האפליקציה שלכם משתמשת ב-iframe שמכיל iframe נוסף, עליכם לוודא שהמאפיין מתווסף לכל iframe, כולל כל iframe המשנה.
לדוגמה, נבחן את התרחיש הבא:
המסמך העליון (
https://www.example.uk
) מכיל iframe בשם Iframe A, שמוטמע בו דף (https://logins.example.com
).הדף המוטמע הזה (
https://logins.example.com
) מכיל גם iframe בשם 'Iframe B', שמוטמע בו דף (https://onetap.example2.com
) שמארח את One Tap או את הלחצן.כדי לוודא שאפשר להציג את הלחצן או את האפשרות 'הקשה אחת' בצורה תקינה, צריך להוסיף את המאפיין גם לתג Iframe A וגם לתג Iframe B.
התכוננו לשאלות לגבי ההודעה 'הקשה אחת' או לגבי הלחצן שלא מוצג. אתרים אחרים עם מקורות שונים עשויים להטמיע את הדפים שלכם שמארחים את One Tap בתוך iframes שלהם. יכול להיות שתקבלו יותר כרטיסי תמיכה ממשתמשי קצה או מבעלי אתרים אחרים, בנוגע לבעיות שקשורות ללחצן או לאפשרות 'הקשה אחת' שלא מוצגים. רק בעלי האתרים יכולים לבצע את העדכונים בדפים שלהם, אבל תוכלו לבצע את הפעולות הבאות כדי לצמצם את ההשפעה:
מעדכנים את המסמכים למפתחים כך שיכללו הנחיות להגדרת ה-iframe בצורה נכונה כדי לקרוא לאתר. אפשר לקשר לדף הזה במסמכי העזרה.
מעדכנים את דף השאלות הנפוצות למפתחים, אם רלוונטי.
כדאי להודיע לצוות התמיכה על השינוי הקרוב ולהכין מראש את התשובה לשאלה.
מומלץ ליצור קשר באופן יזום עם שותפים, לקוחות או בעלי אתרים שהושפעו מהשינוי, כדי שהמעבר ל-FedCM יהיה חלק.
8. מוסיפים את ההנחיות האלה למדיניות האבטחה של התוכן (CSP).
השלב הזה הוא אופציונלי, כי לא כל האתרים בוחרים להגדיר שירות CSP.
אם לא נעשה שימוש ב-CSP באתר שלכם, אין צורך לבצע שינויים.
אם ה-CSP פועל עם הלחצן או הקשה אחת הנוכחיים ואתם לא משתמשים ב-
connect-src
, ב-frame-src
, ב-script-src
, ב-style-src
או ב-default-src
, אין צורך לבצע שינויים.אחרת, פועלים לפי המדריך הזה כדי להגדיר את ה-CSP. בלי הגדרה נכונה של CSP, הלחצן או האפשרות 'הקשה אחת' של FedCM לא יוצגו באתר.
9. מסירים את התמיכה ב-Accelerated Mobile Pages (AMP) לכניסה.
תמיכה בכניסת משתמשים ב-AMP היא תכונה אופציונלית של GIS שאולי הטמעתם באפליקציית האינטרנט שלכם. במקרה כזה,
מחיקה של כל ההפניות אל:
- רכיב מותאם אישית מסוג
amp-onetap-google
, וגם <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
כדאי להפנות אוטומטית בקשות כניסה מ-AMP לתהליך הכניסה ב-HTML של האתר. חשוב לזכור שהשדה הקשור
Intermediate Iframe Support API
לא מושפע.
בדיקה ואימות של ההעברה
אחרי שמבצעים את השינויים הנדרשים לפי השלבים הקודמים, אפשר לוודא שההעברה בוצעה בהצלחה.
מוודאים שהדפדפן תומך ב-FedCM ושיש לכם סשן קיים בחשבון Google.
עוברים לדפים של One Tap או של לחצן באפליקציה.
מוודאים שההצעה לפעולה בנגיעה אחת או הלחצן מוצגים ומופיעים בבטחה על גבי התוכן הבסיסי.
מוודאים שפרטי הכניסה הנכונים מוחזרים לנקודת הקצה או לשיטת ה-callback כשנכנסים לאפליקציה באמצעות One Tap או לחצן.
אם הכניסה האוטומטית מופעלת, מוודאים שהביטול פועל והפרטים המתאימים מוחזרים לנקודת הקצה או לשיטת ה-callback.
תקופת הצינון של One Tap
לחיצה על סמל הלחיצה אחת
בפינה השמאלית העליונה סוגרת את ההנחיה ומתחילה את תקופת הצינון, שבמהלכה ההנחיה לא תוצג באופן זמני. ב-Chrome, אם רוצים שההנחיה ל'הקשה אחת' תוצג שוב לפני שפג תוקף תקופת הצינון, אפשר לאפס את סטטוס הצינון בלחיצה על סמל המנעול בסרגל הכתובות ואז על הלחצן איפוס ההרשאה.תקופת שקט לכניסה אוטומטית
כשבודקים את הכניסה האוטומטית בהקשה אחת באמצעות FedCM, יש תקופת שקט של 10 דקות בין כל ניסיון כניסה אוטומטי. אי אפשר לאפס את התקופה השקטה. כדי להפעיל שוב את הכניסה האוטומטית, תצטרכו להמתין 10 דקות או להשתמש בחשבון Google אחר לצורך בדיקה.
מקורות מידע שימושיים
כלי הניתוח של 'ארגז החול לפרטיות' (PSAT) הוא תוסף ל-Chrome DevTools שעוזר בהטמעת ממשקי API חלופיים כמו FedCM. הכלי סורק את האתר כדי לאתר תכונות שהושפעו ומספק רשימה של שינויים מומלצים.