שיקולים לשילוב

המדריך המפורט הזה יעזור לכם לקבל החלטות לגבי כל הבעיות העיקריות בשילוב.

כניסה באמצעות חשבון Google בתקציר

בהמשך מפורטים השלבים הכלליים שמשתמשים יכולים לבצע כדי להיכנס לאתר שלכם או להירשם אליו.

  1. המשתמשים נכנסים לחשבון באתר Google.

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

  2. המשתמשים גולשים בדפי האינטרנט שבהם מוטמעים לחצן One Tap, 'כניסה אוטומטית' או 'כניסה באמצעות חשבון Google'.

  3. המשתמשים יכולים להשתמש בהקשה אחת, בלחצן 'כניסה באמצעות חשבון Google' ובתהליכים הבאים של חוויית המשתמש, כדי:

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

    כשבדפדפן יש רק סשן אחד פעיל של Google,

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

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

    הסכמה לשימוש בלחצן 'כניסה באמצעות חשבון Google'

    לאחר האישור, Google תקליט את ההחלטה, כדי לדלג על דף ההסכמה בפעם הבאה.

  4. פרטי הכניסה של אסימון האינטרנט JSON (שנקראים גם אסימון מזהה) שכוללים את השם, כתובת האימייל ותמונת הפרופיל של המשתמש, משותפים באמצעות handler של JavaScript להתקשרות חזרה או שליחה של פוסט לשירות לקצה העורפי.

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

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

    אתם תנהלו את סטטוס הכניסה של משתמשים באתר שלכם.

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

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

גישה לממשקי API ולשירותים של Google

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

הפרדת חוויית המשתמש לצורך אימות והרשאה

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

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

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

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

  1. הגדירו מחדש את חוויית המשתמש כדי להפריד בין רגעי האימות וההרשאה.
  2. העברה לספריית JavaScript של Google Identity Services.

ממשק API של HTML לעומת ממשק API של JavaScript

תוכלו להשתמש ב-HTML API או ב-JavaScript API כדי לשלב את הלחצן One Tap, כניסה אוטומטית או כניסה באמצעות Google בדפי האינטרנט שלכם.

עם ממשק ה-API של HTML, אתם מקבלים יותר תכונות מובנות. לדוגמה,

  • עיבוד בהקשה אחת או את הלחצן 'כניסה באמצעות חשבון Google' בעת טעינת הדף.
  • שולחים את פרטי הכניסה שהוחזרו לנקודת הקצה בצד השרת, שמצוינת במאפיין data-login_uri, אחרי שמסיימים את תהליך הכניסה האוטומטית, את האפשרות של כניסה אוטומטית או לחצן קופץ/חלון קופץ להפניה אוטומטית.
  • מנע התקפות CSRF באמצעות קובץ cookie מסוג שליחה כפולה.
  • השתמשו במחולל הקוד כדי ליצור את קוד ה-HTML, ואחר כך מעתיקים אותו לדפי ה-HTML.

באמצעות ממשק ה-API של HTML, תוכלו גם לכתוב קוד JavaScript כדי להתאים אישית את ההתנהגות.

  • אתם יכולים לכתוב handler משלכם לקריאה חוזרת (callback) ולהגדיר את שם הפונקציה למאפיין data-callback. דוגמה טובה לכך היא שימוש ב-XmlHttpRequest לשליחת פרטי הכניסה שהוחזרו לשרת, כדי למנוע טעינה מחדש של הדף שנגרמת כתוצאה משליחת פרטי הכניסה שהוגדרה כברירת מחדל.

השימוש ב-JavaScript API מעניק לכם יותר גמישות בתרחישים מסוימים, כפי שמתואר בהמשך.

  • עיבוד של 'הקשה אחת' ושל הלחצן 'כניסה באמצעות חשבון Google' בשלב מאוחר יותר. לדוגמה, אחרי שהמשתמשים לוחצים על Login (התחברות) בתפריט.
  • קריאה ל-API מספר פעמים. לדוגמה, הלחצן 'כניסה באמצעות חשבון Google' נדרש לעבור עיבוד בכל פעם שתיבת הדו-שיח להתחברות מוצגת.
  • יצירה של דפי HTML באופן דינמי, דבר שמקשה על ההטמעה של קוד קריאה ל-API בהם.
  • תוכלו לטעון את ספריית ה-JavaScript של Google Identity Services מאוחר יותר.

ניתן להפעיל קוד HTML API רק פעם אחת באירוע onload בדף או באירוע onload של ספריית JavaScript של Google Identity Services, במועד מאוחר יותר. אם ההתנהגות של ממשק ה-API של HTML לא מתאימה לציפיות שלכם, תצטרכו להשתמש ב-JavaScript API.

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

  • אתם משתמשים ב-HTML API אם אחד או יותר מהאלמנטים ב-<div id='g_id_onload' ... ><id> או ב-<div class='g_id_signin' ...></div> קיים בקוד ה-HTML.
  • אתם משתמשים ב-JavaScript API אם אחת או יותר מהשיטות ב-initialize(), ב-prompt() או ב-render() מופעלות בקוד JavaScript, בין אם הן הוטמעו או נטענו מקובץ JavaScript נפרד.

ניתן להשתמש בממשקי ה-API הבאים של JavaScript, בנפרד מהאתחול או לעיבוד של 'הקשה ולחצן' אחת. אין להם ממשקי API תואמים של HTML:

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

חלון קופץ לעומת הפניה לכתובת אחרת

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

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

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

יש כמה הבדלים בין תהליך ההפניה האוטומטית של לחצן הכניסה באמצעות חשבון Google לבין תהליך ההפניה האוטומטית של OAuth.

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

מפתחים שמשתמשים ב-HTML API, בלי קשר לממשק המשתמש, הם תמיד נשלחים אל data-login_uri באמצעות השיטה POST ועם אותם פרמטרים. כך אפשר להחליף את מצב חוויית המשתמש בלי לבצע שינויים נוספים בקוד. בחוויית המשתמש בהפניה לכתובת אחרת, צריך להוסיף את data-login_uri למזהי ה-URI המורשים של הלקוח במסוף Google APIs.

התאמה אישית של הלחצן

אין תמיכה בשימוש בלחצן משלך. אין ממשק API שמאפשר באופן פרוגרמטי להתחיל תהליך של לחצן.

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

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

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

ניתן לכלול לחצנים מרובים באותו דף אינטרנט. מחולל הקוד יכול ליצור לחצן אחד בלבד בכל פעם. תוכלו להריץ אותו כמה פעמים ולהעתיק את קוד <div class='g_id_signin' ...></div> שנוצר לדף האינטרנט.

שיטות מומלצות לעיבוד לחצן

מטעמי פרטיות, הלחצן המותאם אישית מוצג ב-iframe מהדומיין accounts.google.com. טעינת iframe עלולה להימשך זמן רב ברשת איטית. כדי לצמצם את בעיית זמן האחזור, עיבוד הלחצנים מתבצע בשני שלבים, באופן הבא:

  1. גרסת לחצן מוטבע מעובדת בעץ ה-DOM של האתר. זהו לחצן טקסט בלבד, ולא ניתן להשתמש במידע מותאם אישית. המטרה היא לאפשר למשתמשים לראות את הלחצן בהקדם האפשרי.
  2. בקשת iframe נשלחת ל-Google כדי לטעון את הלחצן iframe, שעשוי להכיל מידע מותאם אישית. לאחר טעינת הלחצן iframe, לחצן הגרסה המוטבעת מוסר.

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

  • לטעון את ספריית JavaScript של Google Identity Services בהקדם האפשרי. כדאי לטעון את ספריית JavaScript לפני כמה ספריות גדולות אחרות, במיוחד באינטרנט לנייד.
  • אם הלחצן כניסה באמצעות חשבון Google מעובד רק אחרי שהמשתמש לוחץ על Login (כניסה) בתפריט. אפשר קודם לעבד את הלחצן 'כניסה באמצעות חשבון Google' לרכיב מוסתר, ואז להפוך אותו לגלוי אחרי שהמשתמש לוחץ על התחברות בתפריט.

שיקולים בהקשה אחת

כניסה אוטומטית

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

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

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

מתי להציג את ממשק המשתמש בהקשה אחת

באמצעות HTML API, הקשה אחת תמיד מוצגת בטעינת הדף. בעזרת JavaScript

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

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

מומלץ

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

לא מומלץ

הקשה אחת בדפדפני ITP

בגלל הגנה חכמה (ITP), חוויית המשתמש הרגילה בהקשה אחת לא פועלת בדפדפני ITP, כמו Chrome ב-iOS, ב-Safari וב-Firefox. בדפדפנים האלה יש חוויית משתמש שונה שמתחילה בדף הפתיחה.

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

אי אפשר להפעיל את חוויית המשתמש הזו בדפדפנים ללא ITP, כמו Chrome ב-Android/macOS/Linux ו-Edge.

ביטול הבקשה אם המשתמש לוחץ כדי לצאת

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

מומלץ להשאיר את ההודעה בהקשה אחת פתוחה באינטרנט למחשב, כי המסך גדול מספיק.

שינוי המיקום של חוויית המשתמש בהקשה אחת

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

שינוי הקשר הכניסה

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

הקשר
signin "כניסה באמצעות חשבון Google"
signup 'הרשמה באמצעות Google'
use 'שימוש עם Google'

האזנה בסטטוס ממשק המשתמש בהקשה אחת

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

הקשה אחת בכל תת-דומיינים

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

הקשה אחת בדפי HTML סטטיים

כברירת מחדל, ספריית GIS מניחה שדפי האינטרנט שלך נוצרים באופן דינמי. שרת ה-HTTP שלך בודק את סטטוס ההתחברות של המשתמש בזמן יצירת קוד ה-HTML.

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

במקרה כזה, שרת האינטרנט אחראי להוסיף או להסיר קוד ממשק API ל-HTML בהקשה אחת.

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

  • אם קובץ ה-cookie של הסשן לא קיים, מופעל תהליך הקשה אחת.
  • אם קובץ ה-cookie של הסשן קיים, המערכת מדלגת על התהליך בהקשה אחת.

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

שילוב בצד השרת

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

שיקולים לגבי חוויית המשתמש

בדרך כלל תצטרכו להוסיף נקודת קצה (endpoint) של HTTP במקור שלכם כדי לטפל בתגובות בצד השרת. הגורמים הבאים עשויים להשפיע על חוויית המשתמש שמתקבלת.

חוויית המשתמש בפועל מתוארת בהמשך.

  1. במצב 'חוויית משתמש' בהפניה באמצעות לחצן 'כניסה באמצעות חשבון Google':

    • בין אם אתם משתמשים ב-HTML API או ב-JavaScript API, עליכם להגדיר את ה-URI להתחברות. לא ניתן להשתמש בפונקציית קריאה חוזרת של JavaScript כדי לטפל בתגובה, מכיוון שהמשתמשים כבר הופנו מחדש מדף האינטרנט שלכם.
    • סיכום של חוויית המשתמש: אחרי שהם לוחצים על הלחצן 'כניסה באמצעות חשבון Google', המשתמשים רואים הפניה אוטומטית בדף מלא לממשק המשתמש של Google, לצורך בחירה ואישור של הסשן. בסיום, יישלח השדה POST באורך דף מלא ל-URI להתחברות שציינתם.
  2. בהקשה אחת או במצב UX בחלון קופץ עם לחצן 'כניסה באמצעות חשבון Google', אם נעשה שימוש ב-JavaScript API, או אם נעשה שימוש ב-HTML API, ומסופקת פונקציית קריאה חוזרת של JavaScript:

    • תגובות ההרשאה מועברות בחזרה לפונקציית הקריאה החוזרת של JavaScript.
    • סיכום חוויית המשתמש: ההודעה בהקשה אחת או בחלון קופץ מופיעים מעל דף האינטרנט. אחרי שהמשתמשים מסיימים את חוויית המשתמש בחלון הקופץ או בחלון הקופץ לבחירת סשן ולאישור, פונקציית הקריאה החוזרת של JavaScript מקבלת את התשובות. חוויית המשתמש לאחר מכן נקבעת על סמך האופן שבו פונקציית הקריאה החוזרת שולחת את התגובות לשרת שלכם.
  3. אחרת (ממשק ה-API של HTML עם האותיות URI להתחברות):

    • התגובות לאימות נשלחות ל-URI להתחברות.
    • סיכום חוויית המשתמש: ההודעה בהקשה אחת או בחלון קופץ מופיעים מעל דף האינטרנט. אחרי שהמשתמשים מסיימים את חוויית המשתמש בהודעה או בחלון הקופץ לבחירת ולאישור של הסשן, תשובות ההרשאה נשלחות באמצעות שליחה של POST בדף מלא לכתובת ה-URL להתחברות שציינתם.

מומלץ לשלוח את התשובות בהקשה אחת ואת התשובות ללחצן 'כניסה באמצעות חשבון Google' בדרך עקבית.

שיקולי אבטחה

כדי למנוע התקפות מסוג Cross-Site Request Forgery,

  • כששולחים פוסט שהופעל על ידי ספריית JavaScript של הלקוח עם Google Identity Service, אפשר להשתמש בתבנית של קובץ ה-cookie המובנה לשליחה כפולה. לפרטים נוספים, ראו אימות האסימון של מזהה Google בצד השרת.
  • כדי לשלוח את הקובץ למקור שלכם באמצעות XmlHttpRequest, תוכלו להשתמש בכותרת HTTP בהתאמה אישית או באמצעי אבטחה אחרים שאושרו על ידי צוות האבטחה.

כדי לאמת את האסימונים המזהים בתגובות לאימות, מומלץ מאוד להשתמש בספריית לקוח של Google API לפלטפורמה או בספריית JWT לשימוש כללי.

שאלות נפוצות

  • האם הלחצן 'הקשה אחת וכניסה באמצעות חשבון Google' זמין ברכיבי WebView?

    לא. מטעמי אבטחה, אסור למשתמשים להוסיף סשנים של Google ל-WebView. לכן, GIS מושבת ברכיבי WebView מאחר שלא צפויות הפעלות של Google.

  • האם אוכל להשתמש בלחצן 'כניסה באמצעות חשבון Google' משלי? לא. באמצעות

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

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

    כדי לאכוף את הכלל הזה, ספריית JavaScript חושפת רק API לצורך עיבוד לחצן, אבל לא את ה-API שמשמש לצורך התחלת תהליך הכניסה.

  • מה אם באתר שלי מופעל רק הלחצן 'הקשה אחת', אבל לא את הלחצן 'כניסה באמצעות חשבון Google'?

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

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

  • מתי קוד ה-HTML API שלי מנותח? האם אפשר לשנות את הקוד של HTML API מאוחר יותר?

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

    • אם האירוע DomContentLoaded מופעל בזמן הטעינה של ספריית JavaScript, קוד ה-HTML API מנותח ויופעל באופן מיידי.
    • אחרת, ספריית ה-JavaScript מוסיפה listener לאירוע DomContentLoaded. כשהוא מופעל, ה-listener מנתח ומפעיל את קוד ה-HTML API שלכם.

    חשוב גם לדעת שהניתוח והביצוע של קוד ה-HTML API הם חד-פעמיים.

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