העברה ל-FedCM

המדריך הזה יעזור לכם להבין את השינויים באפליקציית האינטרנט שבוצעו על ידי Federated Credentials Management API (FedCM).

כשהתכונה FedCM מופעלת, הדפדפן מציג הנחיות למשתמשים ולא נעשה שימוש בקובצי cookie של צד שלישי.

סקירה כללית

FedCM מאפשר תהליכי כניסה פרטיים יותר בלי להשתמש בקובצי cookie של צד שלישי. הדפדפן קובע את הגדרות המשתמש, מציג הנחיות למשתמש ופונה לספק זהויות כמו Google רק אחרי שהמשתמש נותן הסכמה מפורשת.

ברוב האתרים, ההעברה מתבצעת בצורה חלקה באמצעות עדכונים תואמים לאחור לספריית JavaScript של Google Identity Services.

עדכונים לגבי התכונה 'כניסה אוטומטית'

גרסת הבטא של Federated Credential Management‏ (FedCM) ל-Google Identity Services הושקה באוגוסט 2023. מפתחים רבים בדקו את ה-API וסיפקנו משוב חשוב.

אחת מהתגובות ש-Google שמעה מהמפתחים היא על הדרישה לבצע תנועות משתמש בתהליך הכניסה האוטומטית של FedCM. כדי לשפר את הפרטיות, משתמשי Chrome נדרשים לאשר מחדש את רצונם להיכנס לאתר באמצעות חשבון Google בכל מכונה של Chrome, גם אם המשתמש אישר את האתר לפני ההשקה של FedCM. האישור החוזר החד-פעמי מתבצע בלחיצה אחת על ההודעה One Tap, כדי להדגים את כוונת המשתמש להיכנס לחשבון. השינוי הזה עלול לגרום להפרעה ראשונית בשיעורי ההמרה של כניסה אוטומטית באתרים מסוימים.

לאחרונה בגרסה M121 של Chrome בוצע שינוי בחוויית המשתמש האוטומטית של הכניסה האוטומטית ב-FedCM. נדרש אישור חוזר רק כשקובצי cookie של צד שלישי מוגבלים. כלומר:

  1. כניסה אוטומטית ל-FedCM לא מחייבת אישור מחדש למשתמשים חוזרים. אם המשתמשים יבצעו אימות חוזר באמצעות ממשק המשתמש של FedCM, האישור מחדש ייחשב כחלק מהדרישה לתנועות משתמש בתקופה שאחרי 3PCD.

  2. הכניסה האוטומטית של FedCM תבדוק את סטטוס האישור מחדש כשקובצי Cookie של צד שלישי מוגבלים באופן ידני על ידי משתמשים היום, או כברירת מחדל ב-Chrome בעתיד.

בעקבות השינוי הזה, אנחנו ממליצים לכל המפתחים של כניסה אוטומטית לעבור ל-FedCM בהקדם האפשרי, כדי לצמצם את השיבושים בשיעורי ההמרות של כניסה אוטומטית.

בתהליך הכניסה האוטומטי, ה-JavaScript של GIS לא יפעיל את FedCM ב-Chrome בגרסה ישנה יותר (לפני M121), גם אם בחרתם באתר להביע הסכמה ל-FedCM.

הבדלים בתהליך שעובר המשתמש

חוויית השימוש ב-One Tap באמצעות FedCM ובלי FedCM דומה, עם הבדלים קלים בלבד.

משתמש חדש שביצע ביקור יחיד

כשמשתמשים ב-FedCM, ב-One Tap מוצג שם הדומיין במקום שם האפליקציה.

שימוש ב-FedCM ללא FedCM
משתמש חדש בסשן יחיד באמצעות FedCM משתמש חדש בסשן יחיד ללא FedCM

משתמש חוזר בעל סשן יחיד (כאשר הכניסה האוטומטית מושבתת)

כשמשתמשים ב-FedCM, בשדה 'הקשה אחת' מוצג שם הדומיין במקום שם האפליקציה.

שימוש ב-FedCM ללא FedCM
תהליך של משתמש חוזר בסשן יחיד באמצעות FedCM (כשהכניסה האוטומטית מושבתת) התהליך שעובר המשתמש החוזר בסשן יחיד ללא FedCM (כשהכניסה האוטומטית מושבתת)

משתמש חוזר שהיה לו סשן יחיד (עם כניסה אוטומטית מופעלת)

באמצעות FedCM, המשתמשים יכולים ללחוץ על X כדי לבטל את הכניסה האוטומטית תוך 5 שניות, במקום ללחוץ על הלחצן Cancel.

שימוש ב-FedCM ללא FedCM
תהליך של משתמש חוזר בסשן יחיד באמצעות FedCM (עם כניסה אוטומטית מופעלת) תהליך של משתמש חוזר בסשן יחיד ללא FedCM (עם כניסה אוטומטית מופעלת)

סשנים מרובים

כשמשתמשים ב-FedCM, ב-One Tap מוצג שם הדומיין במקום שם האפליקציה.

שימוש ב-FedCM ללא FedCM
משתמש שביצע מספר ביקורים באמצעות FedCM משתמש שביצע מספר ביקורים ללא FedCM

לפני שמתחילים

מוודאים שהגדרות הדפדפן והגרסה של הדפדפן תומכות ב-FedCM API. מומלץ לעדכן לגרסה העדכנית.

  • FedCM API זמין ב-Chrome בגרסה 117 ואילך.

  • ההגדרה כניסה של צד שלישי מופעלת ב-Chrome.

  • אם גרסת דפדפן Chrome שלכם היא 119 ואילך, פותחים את chrome://flags ומפעילים את התכונה הניסיונית FedCmWithoutThirdPartyCookies. לא צריך לבצע את השלב הזה בדפדפן Chrome מגרסה 120 ואילך.

העברה של אפליקציית האינטרנט

כדי להפעיל את FedCM, להעריך את ההשפעה הפוטנציאלית של ההעברה ולבצע שינויים באפליקציית האינטרנט הקיימת, פועלים לפי השלבים הבאים:

1. מוסיפים דגל בוליאני כדי להפעיל את FedCM במהלך האתחול באמצעות:

2. מסירים את השימוש ב-methods isDisplayMoment(),‏ isDisplayed(),‏ isNotDisplayed() ו-getNotDisplayedReason() בקוד.

כדי לשפר את פרטיות המשתמשים, הקריאה החוזרת (callback) של google.accounts.id.prompt לא מחזירה יותר התראות על רגע התצוגה באובייקט PromptMomentNotication. צריך להסיר כל קוד שתלוי בשיטות שקשורות לרגעי התצוגה. אלה methods של isDisplayMoment(), isDisplayed(), isNotDisplayed() ו-getNotDisplayedReason().

3. מסירים את השימוש בשיטה getSkippedReason() בקוד.

אמנם רגע הדילוג, isSkippedMoment(), עדיין יקרא ל-callback‏ google.accounts.id.prompt באובייקט PromptMomentNotication, אבל לא תסופק סיבה מפורטת. מסירים מהקוד כל קוד שמבוסס על השיטה getSkippedReason().

שימו לב שההתראה לגבי הרגע שסגרתם, isDismissedMoment() והשיטת המפורטת הרלוונטית של הסיבה, getDismissedReason(), לא השתנו כשמפעילים את FedCM.

4. מסירים את מאפייני הסגנון position מ-data-prompt_parent_id ומ-intermediate_iframes.

הדפדפן קובע את הגודל והמיקום של ההנחיות למשתמשים. אין תמיכה במיקומים מותאמים אישית של הקשה אחת במחשב.

5. מעדכנים את פריסת הדף לפי הצורך.

הדפדפן קובע את הגודל והמיקום של ההנחיות למשתמשים. בהתאם למבנה של דפים מסוימים, יכול להיות שחלק מהתוכן יוצג בשכבה עליונה כי אין תמיכה במיקומים מותאמים אישית של מודעות One Tap במחשב, כמו מאפיין סגנון, data-prompt_parent_id, intermediate_iframes, iframe בהתאמה אישית ודרכים יצירתיות אחרות.

שינוי הפריסה של הדף כדי לשפר את חוויית המשתמש כשמידע חשוב מוסתר. אל תבנו את חוויית המשתמש סביב ההנחיה 'הקשה אחת', גם אם אתם מניחים שהיא במיקום ברירת המחדל. מאחר ש-FedCM API מתבצע באמצעות דפדפן, מיקום ההנחיה עשוי להיות שונה מעט אצל ספקים שונים של דפדפנים.

6. מוסיפים את המאפיין allow="identity-credentials-get" למסגרת ההורה אם אפליקציית האינטרנט קוראת ל-One Tap API מ-iframes ממקורות שונים.

iframe נחשב כמקור חוצה אם המקור שלו לא זהה לחלוטין למקור ההורה. לדוגמה:

  • דומיינים שונים: https://example1.com ו-https://example2.com
  • דומיינים שונים ברמה העליונה: https://example.uk ו-https://example.jp
  • תת-דומיינים: https://example.com ו-https://login.example.com

    כדי לשפר את פרטיות המשתמשים, כשנשלחת קריאה ל-One Tap API ממסגרות iframe ממקורות שונים, צריך להוסיף את המאפיין 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 שלהם. יכול להיות שתקבלו יותר כרטיסי תמיכה ממשתמשים קצה או מבעלי אתרים אחרים לגבי הבעיה של One Tap שלא מופיע. רק בעלי האתרים יכולים לבצע את העדכונים בדפים שלהם, אבל אפשר לבצע את הפעולות הבאות כדי לצמצם את ההשפעה:

  • מעדכנים את המסמכים למפתחים כך שיכללו הנחיות להגדרת ה-iframe בצורה נכונה כדי לקרוא לאתר. אתם יכולים לקשר לדף הזה במסמכים שלכם.

  • אם רלוונטי, מעדכנים את דף השאלות הנפוצות למפתחים.

  • חשוב להודיע לצוות התמיכה על השינוי הקרוב ולהתכונן מראש לקבלת תשובה לשאלה.

  • מומלץ ליצור קשר באופן יזום עם שותפים, לקוחות או בעלי אתרים שהושפעו מהשינוי, כדי שהמעבר ל-FedCM יהיה חלק.

7. מוסיפים את ההנחיות האלה למדיניות האבטחה של התוכן (CSP).

השלב הזה הוא אופציונלי, כי לא כל האתרים בוחרים להגדיר שירות CSP.

  • אם לא נעשה שימוש ב-CSP באתר שלכם, אין צורך לבצע שינויים.

  • אם ה-CSP פועל בשיטה הנוכחית בהקשה אחת ולא משתמשים ב-connect-src, ב-frame-src, ב-script-src, ב-style-src או ב-default-src אין צורך לבצע שינויים.

  • אם לא, פועלים לפי ההוראות במדריך הזה כדי להגדיר את ה-CSP. בלי הגדרה נכונה של CSP, התכונה FedCM One Tap לא תוצג באתר.

8. מסירים את התמיכה ב-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 לא מושפע.

בדיקה ואימות של ההעברה

אחרי שמבצעים את השינויים הנדרשים לפי השלבים הקודמים, אפשר לוודא שההעברה בוצעה בהצלחה.

  1. מוודאים שהדפדפן תומך ב-FedCM ושיש לכם סשן קיים בחשבון Google.

  2. עוברים לדפים של One Tap באפליקציה.

  3. מוודאים שההנחיה להקשה אחת מוצגת ומופיעה בבטחה על התוכן שמתחתיה.

  4. מוודאים שפרטי הכניסה הנכונים מוחזרים לנקודת הקצה או לשיטת ה-callback כשנכנסים לאפליקציה באמצעות One Tap.

  5. אם הכניסה האוטומטית מופעלת, מוודאים שהביטול פועל ושפרטי הכניסה הנכונים חוזרים לנקודת הקצה או לשיטת הקריאה החוזרת.

תקופת צינון בהקשה אחת

לחיצה על הסמל בפינה השמאלית העליונה תסגור את ההודעה ותיכנס לתקופת הצינון, שמונעת הצגה זמנית של ההצעה לפעולה בהקשה אחת. ב-Chrome, אם רוצים שההנחיה ל'הקשה אחת' תוצג שוב לפני שפג תוקף תקופת הצינון, אפשר לאפס את סטטוס הצינון בלחיצה על סמל המנעול בסרגל הכתובות ואז על הלחצן איפוס ההרשאה.

תקופת שקט לכניסה אוטומטית

כשבודקים כניסה אוטומטית בהקשה אחת באמצעות FedCM, יש פרק זמן של 10 דקות בין כל ניסיון כניסה אוטומטי. אי אפשר לאפס את התקופה השקטה. כדי להפעיל שוב את הכניסה האוטומטית, תצטרכו להמתין 10 דקות או להשתמש בחשבון Google אחר לצורך בדיקה.

מקורות מידע שימושיים

כלי הניתוח של 'ארגז החול לפרטיות' (PSAT) הוא תוסף ל-Chrome DevTools שעוזר בהטמעת ממשקי API חלופיים כמו FedCM. הכלי סורק את האתר כדי לאתר תכונות שהושפעו ומספק רשימה של שינויים מומלצים.