חומר עזר של לקוח 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. משתמשים ב-method‏ then()‎ כדי לקבל Promise שמתבצע בו פתרון כשהאובייקט gapi.auth2.GoogleAuth מסיים את תהליך האימות.

GoogleAuth.then(onInit, onError)

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

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

קודי שגיאה

idpiframe_initialization_failed
Failed to initialize a required iframe from Google, for example, due to an unsupported environment. המאפיין details יספק מידע נוסף על השגיאה שהופיעה.

gapi.auth2.ClientConfig

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

אימות

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

gapi.auth2.getAuthInstance()

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

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

GoogleAuth.isSignedIn.get()

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

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

GoogleAuth.isSignedIn.listen(listener)

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

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

GoogleAuth.signIn()

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

החזרות
Promise 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 Promise שמתמלא במכונה GoogleUser כשהמשתמש מאמת את ההרשאות ומעניק את ההיקפים המבוקשים, או נדחה עם אובייקט שמכיל את המאפיין error אם התרחשה שגיאה (קודי השגיאות מפורטים בהמשך).

קודי שגיאה

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

gapi.auth2.SignInOptions

ממשק שמייצג את פרמטרים ההגדרה השונים של השיטה 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 Promise שמתבצע כשהמשתמש יוצא מהחשבון.

GoogleAuth.disconnect()

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

GoogleAuth.grantOfflineAccess(options)

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

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

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

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

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

הוספת תהליך הכניסה לחשבון לטיפול בקליק של הקונטיינר שצוין.

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

מאלץ רענון של אסימון הגישה, ולאחר מכן מחזיר Promise ל-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.grantOfflineAccess(options)

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

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

GoogleUser.disconnect()

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

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

gapi.signin2.render(id, options)

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

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

הגדרות מתקדמות

gapi.auth2.authorize(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
Failed to initialize a required iframe from Google, for example, due to an unsupported environment. המאפיין details יספק מידע נוסף על השגיאה שהופיעה.
popup_closed_by_user
החלון הקופץ נסגר לפני שהמשתמש סיים את תהליך הכניסה.
access_denied
הרשאת הגישה למרחבים הנדרשים נדחתה על ידי המשתמש.
immediate_failed
אי אפשר לבחור משתמש באופן אוטומטי בלי להציג את תהליך ההסכמה. שגיאה שמופיעה כשמשתמשים ב-signIn עם האפשרות prompt: 'none'.

gapi.auth2.AuthorizeConfig

ממשק שמייצג את פרמטרי ההגדרה השונים של השיטה 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 כתובת האימייל או מזהה המשתמש של משתמש שרוצים לבחור מראש בתהליך הכניסה. המשתמש יכול לשנות את הערך הזה, אלא אם משתמשים ב-prompt: "none".
include_granted_scopes boolean האם לבקש אסימון גישה שכולל את כל ההיקפים שהמשתמש העניק לאפליקציה בעבר, או רק את ההיקפים שביקשת בקריאה הנוכחית. ברירת המחדל היא true.
enable_granular_consent boolean זה שינוי אופציונלי. האם להפעיל הרשאות מפורטות. אם הערך מוגדר כ-false, ההרשאות המפורטות יותר של חשבון Google יושבתו למזהי לקוחות ב-OAuth שנוצרו לפני 2019. אין השפעה על מזהים של לקוחות OAuth שנוצרו במהלך שנת 2019 או לאחר מכן, כי תמיד מופעלות בהם הרשאות מפורטות יותר.
plugin_name string זה שינוי אופציונלי. אם ההגדרה הזו מוגדרת, מזהי לקוח שנוצרו לפני 29 ביולי 2022 יכולים להשתמש ב-Google Platform Library. כברירת מחדל, מזהי לקוח חדשים שנוצרים חסומים לשימוש בספריית Platform, ובמקום זאת צריך להשתמש בספרייה החדשה יותר של 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 כשהבקשה נכשלה, האפשרות הזו יכולה להכיל מידע נוסף בנוסף לקוד השגיאה שמוחזר.