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

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

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

הגדרת האימות

טוענים את ספריית הפלטפורמה של Google APIs כדי ליצור את האובייקט gapi:

<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>

אחרי שספריית הפלטפורמה תיטען, צריך לטעון את ספריית auth2:

function init() {
  gapi.load('auth2', function() {
    /* Ready. Make a call to gapi.auth2.init or some other API */
  });
}

gapi.auth2.init(params)

מפעיל את האובייקט GoogleAuth. עליך לקרוא לשיטה הזו לפני קריאה לשיטות של gapi.auth2.GoogleAuth.

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

ארגומנטים
params אובייקט שמכיל צמדי מפתח/ערך של נתוני תצורת לקוח. אפשר לעיין במאמר gapi.auth2.ClientConfig כדי לראות מהם המאפיינים השונים שאפשר להגדיר. לדוגמה:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com'
}
החזרות
gapi.auth2.GoogleAuth האובייקט gapi.auth2.GoogleAuth. משתמשים בשיטה then() כדי לקבל Promise שנפתרת לאחר סיום האתחול של האובייקט gapi.auth2.GoogleAuth.

GoogleAuth.then(onInit, onError)

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

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

קודי שגיאות

idpiframe_initialization_failed
ההפעלה של iframe נדרש מ-Google נכשלה, למשל בגלל סביבה לא נתמכת. נכס details יספק מידע נוסף לגבי השגיאה שהועלתה.

gapi.auth2.ClientConfig

ממשק שמייצג את הפרמטרים השונים של ההגדרה לשיטה gapi.auth2.init.

פרמטרים
client_id string חובה. מזהה הלקוח של האפליקציה, שנמצא ונוצר ב-Google Developers Console.
cookie_policy string הדומיינים שעבורם יש ליצור קובצי cookie לכניסה. URI, single_host_origin או none. אם לא צוין ערך, ברירת המחדל היא single_host_origin.
scope string ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים. אופציונלי אם fetch_basic_profile לא מוגדר כ-False.
fetch_basic_profile boolean שלוף פרטי פרופיל בסיסיים של משתמשים כאשר הם מתחברים. מוסיף 'profile', 'email' ו-'openid' להיקפים המבוקשים. True אם לא צוין.
hosted_domain string הדומיין ב-G Suite שהמשתמשים צריכים להיכנס אליו. לקוחות רגישים לשינויים על ידי לקוחות, לכן חשוב לאמת את נכס הדומיין המתארח של המשתמש המוחזר. משתמשים ב-GoogleUser.getHostedDomain() בלקוח, ובהצהרת hd באסימון המזהה בשרת כדי לוודא שהדומיין אכן תואם למה שציפיתם.
ux_mode string מצב ה-UX שבו צריך להשתמש בתהליך הכניסה. כברירת מחדל, תהליך ההסכמה ייפתח בחלון קופץ. הערכים החוקיים הם popup ו-redirect.
redirect_uri string אם משתמשים ב-ux_mode='redirect', הפרמטר הזה מאפשר לשנות את ערך ברירת המחדל redirect_uri שיהיה בשימוש בסוף תהליך ההסכמה. ברירת המחדל redirect_uri היא כתובת ה-URL הנוכחית, ללא פרמטרים של שאילתה ומקטע גיבוב (hash).
plugin_name string זה שינוי אופציונלי. אם הערך הזה מוגדר, מזהי לקוח חדשים שייווצרו לפני 29 ביולי 2022 יוכלו להשתמש בגרסה הישנה יותר של ספריית הפלטפורמה של Google. כברירת מחדל, מעכשיו אין אפשרות להשתמש במזהי לקוח חדשים שנוצרים בספריית הפלטפורמה, ובמקום זאת הם צריכים להשתמש בספרייה החדשה יותר של Google Identity Services. אפשר לבחור כל ערך. מומלץ להשתמש בשם תיאורי כמו שם המוצר או הפלאגין כדי לזהות אותו בקלות. דוגמה: plugin_name: 'YOUR_STRING_HERE'

אימות

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

gapi.auth2.getAuthInstance()

מחזירה את האובייקט GoogleAuth. לפני הקריאה לשיטה הזו, צריך לאתחל את האובייקט GoogleAuth עם gapi.auth2.init().

החזרות
gapi.auth2.GoogleAuth האובייקט gapi.auth2.GoogleAuth. משתמשים באובייקט הזה כדי לקרוא ל-methods של gapi.auth2.GoogleAuth.

GoogleAuth.isSignedIn.get()

מחזירה אם המשתמש הנוכחי מחובר.

החזרות
ערך בוליאני true אם המשתמש מחובר, או false אם המשתמש יוצא מהחשבון או שהאובייקט GoogleAuth לא מאותחל.

GoogleAuth.isSignedIn.listen(listener)

האזנה לשינויים במצב הכניסה של המשתמש הנוכחי.

ארגומנטים
listener פונקציה שמקבלת ערך בוליאני. listen() מעביר את true לפונקציה הזו כשהמשתמש נכנס, ו-false כשהמשתמש יוצא.

GoogleAuth.signIn()

הכניסה של המשתמש באמצעות האפשרויות שצוינו ל-gapi.auth2.init().

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

קודי שגיאה

GoogleAuth.signIn(options).

GoogleAuth.signIn(options)

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

ארגומנטים
options אחת משתי האפשרויות:
  • אובייקט gapi.auth2.SignInOptions שמכיל צמדי מפתח/ערך של פרמטרים לכניסה. למשל:
    {
      scope: 'profile email'
    }
  • מופע של gapi.auth2.SigninOptionsBuilder. לדוגמה:
    options = new gapi.auth2.SigninOptionsBuilder();
    options.setAppPackageName('com.example.app');
    options.setFetchBasicProfile(True);
    options.setPrompt('select_account');
    options.setScope('profile').setScope('email');
החזרות
התחייבות Promise שמולא באמצעות המופע של GoogleUser כשהמשתמש מאמת ומעניק את ההיקפים המבוקשים, או נדחה עם אובייקט שמכיל את המאפיין error במקרה שאירעה שגיאה (קודי השגיאה מופיעים בהמשך).

קודי שגיאה

popup_closed_by_user
המשתמש סגר את החלון הקופץ לפני שסיים את תהליך הכניסה.
access_denied
המשתמש דחה את ההרשאה להיקפי ההרשאות הנדרשים.
immediate_failed
לא ניתן היה לבחור משתמש באופן אוטומטי בלי לבקש את תהליך ההסכמה. אירעה שגיאה במהלך השימוש ב-signIn עם האפשרות prompt: 'none'. אין צורך באפשרות הזו כדי להשתמש באפשרות הזו, כי המשתמש gapi.auth2.init ייכנס אוטומטית אם הוא נכנס בעבר בסשן קודם.

gapi.auth2.SignInOptions

ממשק שמייצג את הפרמטרים השונים של ההגדרות ל-method GoogleAuth.signIn(options).

פרמטרים
prompt string אילוץ מצב ספציפי עבור זרימת ההסכמה. זה שינוי אופציונלי.
הערכים האפשריים הם:
  • consent
    שרת ההרשאות מבקש את ההסכמה של המשתמש לפני החזרת המידע לאפליקציה.
  • select_account
    שרת ההרשאות מבקש מהמשתמש לבחור חשבון Google. כך, משתמש שיש לו כמה חשבונות יכול לבחור מבין החשבונות המרובים שייתכן שיש לו סשנים בהם.
  • none (לא מומלץ)
    שרת ההרשאות לא יציג מסכים לאימות או להסכמת משתמשים. הוא יחזיר שגיאה אם המשתמש עדיין לא מאומת ולא הסכים בעבר להיקפי ההרשאות המבוקשים.
    המשתמש gapi.auth2.init יכניס את המשתמש לאפליקציה באופן אוטומטי אם הוא כבר נכנס לחשבון, ולכן בדרך כלל תיכשל הקריאה ל-signIn({prompt: 'none'}).
scope string ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים, מעל להיקפי ההרשאות שהוגדרו בפרמטרים gapi.auth2.init. אופציונלי אם הערך של fetch_basic_profile לא מוגדר כ-False.
ux_mode string מצב ה-UX שבו צריך להשתמש בתהליך הכניסה. כברירת מחדל, תהליך ההסכמה ייפתח בחלון קופץ. הערכים החוקיים הם popup ו-redirect.
redirect_uri string אם משתמשים ב-ux_mode='redirect', הפרמטר הזה מאפשר לשנות את ערך ברירת המחדל redirect_uri שיהיה בשימוש בסוף תהליך ההסכמה. ברירת המחדל redirect_uri היא כתובת ה-URL הנוכחית, ללא פרמטרים של שאילתה ומקטע hash.

GoogleAuth.signOut()

מוציא את החשבון הנוכחי מהאפליקציה.

החזרות
התחייבות Promise שמתקיים כשהמשתמש יוצא מהחשבון.

GoogleAuth.disconnect()

ביטול כל ההיקפים שהמשתמש העניק.

GoogleAuth.grantאופלייןAccess(options)

קבלת הרשאה מהמשתמש לגשת אופליין להיקפי ההרשאות שצוינו.

ארגומנטים
options אובייקט gapi.auth2.OfflineAccessOptions שמכיל צמדי מפתח/ערך של פרמטרים. למשל:
{
  scope: 'profile email'
}
החזרות
התחייבות Promise שמולא כשהמשתמש מעניק את ההיקפים המבוקשים ומעביר אובייקט שמכיל את קוד ההרשאה ל-handler של מילוי הבקשה של Promise. למשל:
auth2.grantOfflineAccess().then(function(resp) {
  var auth_code = resp.code;
});

קודי שגיאה

popup_closed_by_user
המשתמש סגר את החלון הקופץ לפני שסיים את תהליך ההסכמה.
access_denied
המשתמש דחה את ההרשאה להיקפי ההרשאות הנדרשים.
immediate_failed
לא ניתן היה לבחור משתמש באופן אוטומטי בלי לבקש את תהליך ההסכמה. אירעה שגיאה במהלך השימוש ב-signIn עם האפשרות prompt: 'none'. אין צורך באפשרות הזו כדי להשתמש באפשרות הזו, כי המשתמש gapi.auth2.init ייכנס אוטומטית אם הוא נכנס בעבר בסשן קודם.

gapi.auth2.OfflineAccessOptions

ממשק שמייצג את הפרמטרים השונים של ההגדרות ל-method GoogleAuth.grantOfflineAccess(options).

פרמטרים
prompt string אילוץ מצב ספציפי עבור זרימת ההסכמה. זה שינוי אופציונלי.
הערכים האפשריים הם:
  • consent
    שרת ההרשאות מבקש את ההסכמה של המשתמש לפני החזרת המידע לאפליקציה.
  • select_account
    שרת ההרשאות מבקש מהמשתמש לבחור חשבון Google. כך, משתמש שיש לו כמה חשבונות יכול לבחור מבין החשבונות המרובים שייתכן שיש לו סשנים בהם.
scope string ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים, מעל להיקפי ההרשאות שהוגדרו בפרמטרים gapi.auth2.init. אופציונלי אם הערך של fetch_basic_profile לא מוגדר כ-False.

GoogleAuth.attachClickHandler(container, options, onsuccess, onfailure)

צירוף של תהליך הכניסה ל-handler של הקליקים של מאגר התגים שצוין.

ארגומנטים
container המזהה של הרכיב div, או ההפניה אליו, שאליו לצרף את ה-handler של הקליקים.
options אובייקט שמכיל צמדי מפתח/ערך של פרמטרים. למידע נוסף, ראו GoogleAuth.signIn().
onsuccess הפונקציה לקריאה לאחר השלמת הכניסה.
onfailure הפונקציה לקריאה אם הכניסה נכשלת.

משתמשים

אובייקט GoogleUser מייצג חשבון משתמש אחד. בדרך כלל אפשר להשיג אובייקטים מסוג GoogleUser על ידי קריאה ל-GoogleAuth.currentUser.get().

GoogleAuth.currentUser.get()

מחזירה אובייקט GoogleUser שמייצג את המשתמש הנוכחי. הערה: במכונה GoogleAuth שאותחלה לאחרונה, המשתמש הנוכחי לא הוגדר. משתמשים בשיטה currentUser.listen() או ב-GoogleAuth.then() כדי לקבל מכונה של GoogleAuth מאותחלת.

החזרות
GoogleUser המשתמש הנוכחי

GoogleAuth.currentUser.listen(listener)

האזנה לשינויים במשתמש הנוכחי.

ארגומנטים
listener פונקציה שמקבלת פרמטר GoogleUser. הפונקציה listen מעבירה את הפונקציה הזו כמופע של GoogleUser בכל שינוי שמשנה את הערך currentUser.

GoogleUser.getId()

מוצאים את מחרוזת המזהה הייחודי של המשתמש.

החזרות
מחרוזת המזהה הייחודי של המשתמש

GoogleUser.isSignedIn()

הפונקציה מחזירה את הערך True אם המשתמש מחובר.

החזרות
ערך בוליאני True אם המשתמש מחובר

GoogleUser.getHostedDomain()

אפשר לקבל את הדומיין ב-G Suite של המשתמש אם המשתמש נכנס עם חשבון G Suite.

החזרות
מחרוזת הדומיין של המשתמש ב-G Suite

GoogleUser.getGrantedScopes()

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

החזרות
מחרוזת היקפי ההרשאות שניתנו על ידי המשתמש

GoogleUser.getBasicProfile()

קבלת פרטי הפרופיל הבסיסיים של המשתמש.

החזרות
gapi.auth2.BasicProfile אפשר לאחזר את המאפיינים של gapi.auth2.BasicProfile באמצעות השיטות הבאות:
  • BasicProfile.getId()
  • BasicProfile.getName()
  • BasicProfile.getGivenName()
  • BasicProfile.getFamilyName()
  • BasicProfile.getImageUrl()
  • BasicProfile.getEmail()

GoogleUser.getAuthResponse(includeAuthorizationData)

צריך לקבל את אובייקט התגובה מסשן האימות של המשתמש.

ארגומנטים
includeAuthorizationData אופציונלי: ערך בוליאני שמציין אם להחזיר תמיד אסימון גישה והיקפים. כברירת מחדל, אסימון הגישה וההיקפים המבוקשים לא מוחזרים כאשר fetch_basic_profile הוא True (ערך ברירת המחדל) ולא מבקשים היקפים נוספים.
החזרות
gapi.auth2.AuthResponse אובייקט gapi.auth2.AuthResponse.

GoogleUser.reloadAuthResponse()

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

החזרות
Promise Promise שמולא עם gapi.auth2.AuthResponse שנטען מחדש במהלך הטעינה מחדש של אסימון ה-OAuth.

gapi.auth2.AuthResponse

התשובה הוחזרה לאחר הפעלת השיטות GoogleUser.getAuthResponse(includeAuthorizationData) או GoogleUser.reloadAuthResponse().

תכונות
access_token string אסימון הגישה הוענק.
id_token string אסימון המזהה שניתן.
scope string היקפי ההרשאות שניתנו באסימון הגישה.
expires_in number מספר השניות עד שתוקף אסימון הגישה יפוג.
first_issued_at number חותמת הזמן שבה המשתמש נתן לראשונה את ההיקפים המבוקשים.
expires_at number חותמת הזמן שבה יפוג תוקף אסימון הגישה.

GoogleUser.hasGrantedScopes(scopes)

הפונקציה מחזירה את הערך True אם המשתמש העניק את ההיקפים שצוינו.

ארגומנטים
scopes מחרוזת היקפים מופרדת ברווחים.
החזרות
ערך בוליאני True אם ההיקפים הוענקו

GoogleUser.grant(options)

לבקש היקפים נוספים למשתמש.

לרשימת הפרמטרים ולקוד השגיאה, ראו GoogleAuth.signIn().

GoogleUser.grantאופלייןAccess(options)

קבלת הרשאה מהמשתמש לגשת אופליין להיקפי ההרשאות שצוינו.

ארגומנטים
options אובייקט gapi.auth2.OfflineAccessOptions שמכיל צמדי מפתח/ערך של פרמטרים. למשל:
{
  scope: 'profile email'
}

GoogleUser.disconnect()

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

רכיבים בממשק המשתמש

gapi.signin2.render(id, options)

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

ארגומנטים
id מזהה הרכיב שבו יש לעבד את לחצן הכניסה.
options אובייקט שמכיל את ההגדרות שישמשו לעיבוד הלחצן. לדוגמה:
{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}
תוכלו לציין את האפשרויות הבאות:
פרמטרים
היקף היקפי ההרשאות שצריך לבקש כשהמשתמש נכנס לחשבון (ברירת המחדל: profile).
רוחב רוחב הלחצן בפיקסלים (ברירת המחדל: 120).
גובה גובה הלחצן בפיקסלים (ברירת המחדל: 36).
שם ארוך הצגת תוויות ארוכות כמו "כניסה באמצעות חשבון Google" במקום "כניסה" (ברירת מחדל: false). כשמשתמשים בכותרות ארוכות, יש להגדיל את רוחב הלחצן מברירת המחדל שלו.
עיצוב עיצוב הצבעים של הלחצן: light או dark (ברירת המחדל: light).
בהצלחה פונקציית הקריאה החוזרת (callback) שצריך לקרוא כשמשתמש נכנס בהצלחה. הפונקציה הזו חייבת לכלול ארגומנט אחד: מופע של gapi.auth2.GoogleUser (ברירת מחדל: ללא).
נכשל פונקציית הקריאה החוזרת לקריאה במקרה שהכניסה נכשלת. הפונקציה לא מקבלת ארגומנטים (ברירת המחדל: ללא).

מתקדמת

gapi.auth2.certification(params, callback)

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

הנה כמה תרחישים לדוגמה שבהם השיטה הזו מועילה:

  • האפליקציה שלכם צריכה לבקש נקודת קצה ל-Google API רק פעם אחת, לדוגמה, כדי לטעון את סרטוני YouTube המועדפים על המשתמש בפעם הראשונה שהוא נכנס לחשבון.
  • לאפליקציה שלכם יש תשתית משלה לניהול סשנים, וצריך להשתמש באסימון המזהה רק פעם אחת כדי לזהות את המשתמש בקצה העורפי.
  • באותו הדף נעשה שימוש בכמה מזהי לקוח.
ארגומנטים
params אובייקט שמכיל צמדי מפתח/ערך של נתוני תצורה. אפשר לעיין במאמר gapi.auth2.AuthorizeConfig כדי לראות מהם המאפיינים השונים שניתן להגדיר. לדוגמה:
{
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}
callback פונקציה שנקראה עם אובייקט gapi.auth2.AuthorizeResponse אחרי שהבקשה הושלמה (בהצלחה או בכשל).

דוגמה

gapi.auth2.authorize({
  client_id: 'CLIENT_ID.apps.googleusercontent.com',
  scope: 'email profile openid',
  response_type: 'id_token permission'
}, function(response) {
  if (response.error) {
    // An error happened!
    return;
  }
  // The user authorized the application for the scopes requested.
  var accessToken = response.access_token;
  var idToken = response.id_token;
  // You can also now use gapi.client to perform authenticated requests.
});

קודי שגיאה

idpiframe_initialization_failed
ההפעלה של iframe נדרש מ-Google נכשלה, למשל בגלל סביבה לא נתמכת. נכס details יספק מידע נוסף לגבי השגיאה שהועלתה.
popup_closed_by_user
המשתמש סגר את החלון הקופץ לפני שסיים את תהליך הכניסה.
access_denied
המשתמש דחה את ההרשאה להיקפי ההרשאות הנדרשים.
immediate_failed
לא ניתן היה לבחור משתמש באופן אוטומטי בלי לבקש את תהליך ההסכמה. אירעה שגיאה במהלך השימוש ב-signIn עם האפשרות prompt: 'none'.

gapi.auth2.AuthorizeConfig

ממשק שמייצג את הפרמטרים השונים של ההגדרות ל-method gapi.auth2.authorize.

תכונות
client_id string נדרש. מזהה הלקוח של האפליקציה, שנמצא ונוצר ב-Google Developers Console.
scope string נדרש. ההיקפים שיש לבקש, כמחרוזת מופרדת ברווחים.
response_type string רשימה של סוגי תשובות שמופרדים ברווחים. ברירת המחדל היא 'permission'. הערכים האפשריים הם:
  • id_token, כדי לאחזר אסימון מזהה
  • permission (או token), כדי לאחזר אסימון גישה
  • code, כדי לאחזר קוד הרשאה
prompt string אילוץ מצב ספציפי עבור זרימת ההסכמה. הערכים האפשריים הם:
  • consent
    שרת ההרשאות מבקש את ההסכמה של המשתמש לפני החזרת המידע לאפליקציה.
  • select_account
    שרת ההרשאות מבקש מהמשתמש לבחור חשבון Google. כך, משתמש שיש לו כמה חשבונות יכול לבחור מבין החשבונות המרובים שייתכן שיש לו סשנים בהם.
  • none
    שרת ההרשאות לא יציג מסכים לאימות או להסכמת המשתמשים. הוא יחזיר שגיאה אם המשתמש עדיין לא מאומת ולא הסכים בעבר להיקפים המבוקשים.
    אם התבקשת להזין את הערך code כסוג התגובה, ניתן להחליף את הקוד הזה רק ב-access_token, ולא ב-refresh_token.
cookie_policy string הדומיינים שעבורם יש ליצור קובצי cookie לכניסה. URI, single_host_origin או none. אם לא צוין ערך, ברירת המחדל היא single_host_origin.
hosted_domain string הדומיין ב-G Suite שהמשתמשים צריכים להיכנס אליו. לקוחות יכולים לשנות את הדומיין הזה, לכן חשוב לאמת את נכס הדומיין המתארח של המשתמש המוחזר.
login_hint string כתובת האימייל או ה-User-ID של המשתמש שעליו לבחור מראש בתהליך הכניסה. המשתמשים עשויים לשנות את התנאים האלה, אלא אם נעשה שימוש ב-prompt: "none".
include_granted_scopes boolean האם לבקש אסימון גישה שכולל את כל היקפי ההרשאות שהמשתמש נתן לאפליקציה בעבר, או רק את ההיקפים שהתבקשו בשיחה הנוכחית. ברירת המחדל היא true.
plugin_name string זה שינוי אופציונלי. אם המדיניות מוגדרת, מזהי לקוח שנוצרו לפני 29 ביולי 2022 יכולים להשתמש בספריית הפלטפורמה של Google. כברירת מחדל, אנחנו חוסמים מזהי לקוח חדשים בשימוש בספריית הפלטפורמה. במקום זאת, צריך להשתמש בספרייה החדשה יותר של Google Identity Services. אפשר לבחור כל ערך. כדי להקל על הזיהוי, מומלץ להשתמש בשם תיאורי כמו שם המוצר או הפלאגין. דוגמה: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.AuthorizeResponse

התשובה שהוחזרה לקריאה החוזרת של השיטה gapi.auth2.authorize.

תכונות
access_token string אסימון הגישה הוענק. מוצג רק אם permission או token צוינו ב-response_type.
id_token string אסימון המזהה שניתן. מוצג רק אם צוין id_token ב-response_type.
code string קוד ההרשאה שניתן. מוצג רק אם צוין code ב-response_type.
scope string היקפי ההרשאות שניתנו באסימון הגישה. מוצג רק אם permission או token צוינו ב-response_type.
expires_in number מספר השניות עד שתוקף אסימון הגישה יפוג. מוצג רק אם permission או token צוינו ב-response_type.
first_issued_at number חותמת הזמן שבה המשתמש נתן לראשונה את ההיקפים המבוקשים. מוצג רק אם permission או token צוינו ב-response_type.
expires_at number חותמת הזמן שבה יפוג תוקף אסימון הגישה. מוצג רק אם permission או token צוינו ב-response_type.
error string כשהבקשה נכשלה, מופיע קוד השגיאה.
error_subtype string כשהבקשה נכשלה, יכול להיות שיופיע מידע נוסף על קוד השגיאה שהוחזר.