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

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

ממשק שמייצג את פרמטרים ההגדרה השונים של השיטה 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.grantאופלייןAccess(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

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