חומר עזר של לקוח 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. משתמשים במתודה tens() כדי לקבל הבטחה שנפתרת כשהאתחול של האובייקט 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

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

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

אימות

GoogleAuth היא מחלקה של SSO שמספקת שיטות שמאפשרות למשתמש להיכנס באמצעות חשבון 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 מצב חוויית המשתמש בתהליך הכניסה. כברירת מחדל, תהליך ההסכמה ייפתח בחלון קופץ. הערכים החוקיים הם popup ו-redirect.
redirect_uri string אם משתמשים ב-ux_mode='redirect', הפרמטר הזה מאפשר לבטל את ברירת המחדל redirect_uri שתשמש בסוף תהליך ההסכמה. ברירת המחדל redirect_uri היא כתובת ה-URL הנוכחית, ללא הפרמטרים של השאילתה וקטע הגיבוב.

GoogleAuth.signOut()

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

החזרות
הבטחה Promise שמטופל אחרי שהמשתמש יוצא מהחשבון.

GoogleAuth.disconnect()

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

GoogleAuth.grantonlineAccess(options)

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

ארגומנטים
options אובייקט gapi.auth2.OfflineAccessOptions שמכיל צמדי מפתח/ערך של פרמטרים. לדוגמה:
{
  scope: 'profile email'
}
החזרות
הבטחה השדה Promise מתקיים כשהמשתמש מקצה את ההיקפים המבוקשים, ומעביר אובייקט שמכיל את קוד ההרשאה ל-handler של ה-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 שאליו צריך לצרף את מטפל הקליקים, או הפניה אליו.
options אובייקט שמכיל צמדי מפתח/ערך של פרמטרים. ראו GoogleAuth.signIn().
onsuccess הפונקציה שצריך להפעיל אחרי הכניסה לחשבון.
onfailure הפונקציה שצריך להפעיל אם הכניסה נכשלה.

משתמשים

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

GoogleAuth.currentUser.get()

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

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

GoogleAuth.currentUser.listen(listener)

האזנה לשינויים ב-currentUser.

ארגומנטים
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

התשובה שחוזרת במהלך הקריאה ל-methods 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.grantonlineAccess(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 (ברירת מחדל: none).
כשל פונקציית הקריאה החוזרת (callback) שתישלח כשהכניסה נכשלה. הפונקציה הזו לא מקבלת ארגומנטים (ברירת המחדל: none).

מסננים מתקדמים

gapi.auth2.certificate(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 API.
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.
enable_granular_consent boolean זה שינוי אופציונלי. האם להפעיל הרשאות מפורטות. אם המדיניות מוגדרת לערך false, ההרשאות המפורטות יותר בחשבון Google יושבתו עבור מזהי לקוח ב-OAuth שנוצרו לפני 2019. אין השפעה על מזהי לקוחות של OAuth שנוצרו במהלך 2019 או לאחר מכן, כי הרשאות מפורטות יותר תמיד מופעלות לגביהם.
plugin_name string זה שינוי אופציונלי. אם המדיניות מוגדרת, מזהי לקוח שנוצרו לפני 29 ביולי 2022 יוכלו להשתמש בספריית הפלטפורמה של Google. כברירת מחדל, השימוש במזהי לקוח חדשים שנוצרים חסומים בספריית הפלטפורמה, ובמקום זאת עליהם להשתמש בספרייה החדשה יותר של Google Identity Services. אפשר לבחור כל ערך. מומלץ לבחור שם תיאורי כמו שם המוצר או הפלאגין, כדי שיהיה קל לזהות אותו. דוגמה: plugin_name: 'YOUR_STRING_HERE'

gapi.auth2.AuthorizeResponse

התשובה הוחזרה לקריאה חוזרת (callback) של ה-method 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 אם הבקשה נכשלה, הוא יכול להכיל מידע נוסף על קוד השגיאה שמוחזר.