העברה ל-FedCM

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

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

סקירה

ארגז החול לפרטיות באינטרנט וההסרה של קובצי cookie של צד שלישי מהאינטרנט על ידי Chrome גרמה לשינויים משמעותיים ב-Google Identity Services ובכניסה של משתמשים.

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

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

עדכונים בקשר לתכונת הכניסה האוטומטית

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

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

לאחרונה בגרסה M121, Chrome ביצע שינוי בחוויית המשתמש בתהליך הכניסה האוטומטית של FedCM. האישור מחדש נדרש רק כאשר יש הגבלה על קובצי Cookie של צד שלישי. כלומר:

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

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

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

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

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

חוויות השימוש בהקשה אחת כשאתם משתמשים ב-FedCM וללא FedCM דומות רק בהבדלים קלים.

משתמש חדש – סשן יחיד

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

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

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

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

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

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

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

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

סשנים מרובים

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

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

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

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

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

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

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

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

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

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

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

כדי לשפר את פרטיות המשתמשים, הקריאה החוזרת google.accounts.id.prompt לא מחזירה יותר התראות לגבי רגעי התצוגה באובייקט PromptMomentNotication. צריך להסיר כל קוד שתלוי בשיטות שקשורות לרגע התצוגה. מדובר בשיטות 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. מעדכנים את פריסת הדף לפי הצורך.

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

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

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

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.

    כדי להבטיח הצגה תקינה של One Tap, יש להוסיף את המאפיין גם לתגי Iframe A ו-Iframe B.

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

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

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

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

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

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

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

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

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

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

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. עוברים אל הדפים בהקשה אחת באפליקציה.

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

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

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

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

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

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

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

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

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