הגדרה

לפני שמוסיפים לאתר את התכונות 'כניסה באמצעות חשבון Google', 'הקשה אחת' או 'כניסה אוטומטית', צריך להגדיר את OAuth ואת מדיניות האבטחה של התוכן באתר (אופציונלי).

קבלת מזהה הלקוח ב-Google API

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

  1. פותחים את של .
  2. יוצרים או בוחרים פרויקט . אם כבר יש לכם פרויקט ללחצן 'כניסה באמצעות חשבון Google' או ל-Google One Tap, תוכלו להשתמש בפרויקט הקיים ובמזהה הלקוח באינטרנט. כשיוצרים אפליקציות בסביבת ייצור, יכול להיות שיהיה צורך במספר פרויקטים. צריך לחזור על שאר השלבים בקטע הזה בכל פרויקט שאתם מנהלים.
  3. לוחצים על Create client ובוחרים באפשרות Web application בקטע Application type כדי ליצור מזהה לקוח חדש. כדי להשתמש במזהה לקוח קיים, בוחרים אחד מהסוגים Web application.
  4. מוסיפים את ה-URI של האתר למקורות המורשים של JavaScript. ה-URI כולל רק את ההסכמה ואת שם המארח המלא. לדוגמה, https://www.example.com.

  5. לחלופין, אפשר להחזיר את פרטי הכניסה באמצעות הפניה אוטומטית לנקודת קצה (endpoint) שאתם מארחים, במקום באמצעות קריאה חוזרת (callback) של JavaScript. במקרה כזה, צריך להוסיף את מזהי ה-URI של ההפניות האוטומטיות לקטע מזהי URI מורשים להפניה אוטומטית. מזהי URI של הפניות אוטומטיות כוללים את הסכימה, שם המארח המלא והנתיב, ועליהם לעמוד בכללי האימות של מזהי URI של הפניות אוטומטיות. לדוגמה: https://www.example.com/auth-receiver.

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

  1. פותחים את בקטע Google Auth Platform ב-.
  2. אם מוצגת בקשה לעשות זאת, בוחרים את הפרויקט שיצרתם.
  3. בדף , ממלאים את הטופס ולוחצים על הלחצן 'שמירה'.

    1. שם האפליקציה: השם של האפליקציה שמבקשת הסכמה. השם צריך לשקף במדויק את האפליקציה שלכם, ולהיות זהה לשם האפליקציה שמוצג למשתמשים במקומות אחרים.

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

    3. כתובת אימייל לתמיכה: מוצגת במסך ההסכמה לתמיכה למשתמשים, וגם לאדמינים של G Suite שמעריכים את הגישה של המשתמשים שלהם לאפליקציה. כתובת האימייל הזו מוצגת למשתמשים במסך ההסכמה של הכניסה באמצעות חשבון Google, כשהם לוחצים על שם האפליקציה.

    4. דומיינים מורשים: כדי להגן עליכם ועל המשתמשים שלכם, Google מאפשרת רק לאפליקציות שמבצעות אימות באמצעות OAuth להשתמש בדומיינים מורשים. הקישורים של האפליקציות חייבים להתארח בדומיינים מורשים. מידע נוסף

    5. קישור לדף הבית של האפליקציה: מוצג במסך ההסכמה של 'כניסה באמצעות חשבון Google' ובמידע על כתב הוויתור שעומד בדרישות GDPR בנוגע להרשאה בנגיעה אחת, מתחת ללחצן 'המשך כ'. האתר חייב להתארח בדומיין מורשה.

    6. קישור למדיניות הפרטיות של האפליקציה: מוצג במסך ההסכמה לכניסה באמצעות חשבון Google, ובמידע על כתב הוויתור שתואמת ל-GDPR בהקשה אחת מתחת ללחצן 'המשך כ'. האתר חייב להתארח בדומיין מורשה.

    7. קישור לתנאים ולהגבלות של האפליקציה (אופציונלי): מוצג במסך ההסכמה של הכניסה באמצעות חשבון Google ובמידע על כתב ויתור תואם ל-GDPR בלחיצת אצבע, מתחת ללחצן 'המשך כ'. האתר חייב להתארח בדומיין מורשה.

  4. עוברים אל כדי להגדיר היקפים לאפליקציה.

    1. היקפי גישה ל-Google APIs: היקפי הגישה מאפשרים לאפליקציה לגשת לנתונים הפרטיים של המשתמשים. לאימות, היקף ברירת המחדל (email,‏ profile, ‏ openid) מספיק, אין צורך להוסיף היקפים רגישים. באופן כללי, מומלץ לבקש היקפים באופן מצטבר, בזמן הצורך בגישה, ולא מראש.
  5. בודקים את סטטוס האימות. אם האפליקציה צריכה לעבור אימות, לוחצים על הלחצן 'שליחת בקשה לאימות' כדי לשלוח את הבקשה לאימות. פרטים נוספים זמינים במאמר דרישות האימות של OAuth.

הצגת הגדרות OAuth במהלך הכניסה

הקשה אחת באמצעות FedCM

הגדרות ההסכמה ל-OAuth כפי שהן מוצגות ב-Chrome One Tap באמצעות FedCM

הדומיין המורשה ברמה העליונה מוצג במהלך קבלת ההסכמה מהמשתמשים ב-Chrome. שימוש רק ב-One Tap ב-iframes ממקורות שונים אבל באותו אתר הוא שיטה נתמכת.

One Tap ללא FedCM

הגדרות ההסכמה ל-OAuth כפי שהן מוצגות על ידי One Tap

שם האפליקציה מוצג במהלך קבלת ההסכמה מהמשתמשים.

איור 1. הגדרות ההסכמה ל-OAuth שמוצגות באמצעות One Tap ב-Chrome.

Content Security Policy

מדיניות אבטחת תוכן היא אופציונלית, אבל מומלץ להשתמש בה כדי לאבטח את האפליקציה ולמנוע מתקפות XSS (Cross-Site Scripting). למידע נוסף, ראו מבוא ל-CSP וCSP ו-XSS.

מדיניות האבטחה של התוכן עשויה לכלול הוראה אחת או יותר, כמו connect-src,‏ frame-src,‏ script-src,‏ style-src או default-src.

אם ספק ה-CSP כולל את:

  • להוסיף את ההוראה https://accounts.google.com/gsi/ להוראה connect-src כדי לאפשר לדף לטעון את כתובת ה-URL של ההורה של נקודות קצה בצד השרת של Google Identity Services.
  • frame-src, מוסיפים את https://accounts.google.com/gsi/ כדי לאפשר את כתובת ה-URL של הרכיב ההורה של iframe של הלחצן 'כניסה באמצעות חשבון Google' ושל הלחצן 'הקשה אחת'.
  • script-src, מוסיפים את הערך https://accounts.google.com/gsi/client כדי לאפשר את כתובת ה-URL של ספריית JavaScript של Google Identity Services.
  • style-src, מוסיפים את https://accounts.google.com/gsi/style כדי לאפשר את כתובת ה-URL של גיליונות הסגנון של Google Identity Services.
  • אם משתמשים בהוראה default-src, היא משמשת כחלופה אם לא צוינו אף אחת מההוראות הקודמות (connect-src,‏ frame-src,‏ script-src או style-src). מוסיפים את https://accounts.google.com/gsi/ כדי לאפשר לדף לטעון את כתובת ה-URL של ההורה לנקודות קצה בצד השרת של Google Identity Services.

כשמשתמשים ב-connect-src, כדאי להימנע מהצגת כתובות URL ספציפיות של GIS. כך אפשר למזער את מספר הכשלים בזמן העדכון של מערכת ה-GIS. לדוגמה, במקום להוסיף את https://accounts.google.com/gsi/status, משתמשים בכתובת ה-URL של הורה ה-GIS‏ https://accounts.google.com/gsi/.

כותרת התגובה לדוגמה הזו מאפשרת ל-Google Identity Services לטעון ולהריץ את הקוד:

Content-Security-Policy-Report-Only: script-src
https://accounts.google.com/gsi/client; frame-src
https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;

מדיניות פותחן מרובות מקורות

יכול להיות שתצטרכו לשנות את Cross-Origin-Opener-Policy (COOP) כדי ליצור חלונות קופצים בלחצן 'כניסה באמצעות חשבון Google' וב-Google One Tap.

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

עם זאת, כש-FedCM מושבת, צריך להגדיר את הכותרת COOP:

  • אל same-origin וגם
  • כולל same-origin-allow-popups.

אי-הגדרה של הכותרת המתאימה גורמת לשיבוש בתקשורת בין החלונות, וכתוצאה מכך חלון קופץ ריק או באגים דומים.