בדף ההפניה הזה מתוארת הכניסה של JavaScript API. תוכלו להשתמש ב-API הזה כדי להציג בדפי האינטרנט שלכם את הבקשה בהקשה אחת או את הלחצן 'כניסה באמצעות חשבון Google'.
שיטה: google.accounts.id.firstize
השיטה google.accounts.id.initialize
מפעילה את הלקוח 'כניסה באמצעות חשבון Google' על סמך אובייקט התצורה. דוגמת הקוד הבאה של השיטה:
google.accounts.id.initialize(IdConfiguration)
הקוד לדוגמה הבא מטמיע את השיטה google.accounts.id.initialize
באמצעות הפונקציה onload
:
<script>
window.onload = function () {
google.accounts.id.initialize({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
callback: handleCredentialResponse
});
google.accounts.id.prompt();
};
</script>
השיטה google.accounts.id.initialize
יוצרת מכונת לקוח מסוג 'כניסה באמצעות חשבון Google' שאפשר להשתמש בה באופן מרומז בכל המודולים באותו דף אינטרנט.
- צריך להפעיל את השיטה
google.accounts.id.initialize
רק פעם אחת, גם אם משתמשים בכמה מודולים (כמו 'הקשה אחת', לחצן 'מותאם אישית', ביטול וכו') באותו דף אינטרנט. - אם תבצעו קריאה ל-method
google.accounts.id.initialize
כמה פעמים, המערכת תשמור את ההגדרות בשיחה האחרונה ותשתמש בהן.
בפועל, מאפסים את ההגדרות האישיות בכל פעם שמפעילים את השיטה google.accounts.id.initialize
, וכל השיטות הבאות באותו דף אינטרנט משתמשות מיד בהגדרות החדשות.
סוג הנתונים: IdConfiguration
בטבלה הבאה מפורטים השדות והתיאורים של סוג הנתונים IdConfiguration
:
שעון שדה | |
---|---|
client_id |
מזהה הלקוח של האפליקציה |
auto_select |
הפעלת בחירה אוטומטית. |
callback |
פונקציית JavaScript שמטפלת באסימונים מזהים. התכונה 'הקשה על Google One'
והלחצן 'כניסה באמצעות חשבון Google' popup משתמשים במאפיין
הזה. |
login_uri |
כתובת ה-URL של נקודת הקצה להתחברות. הלחצן 'כניסה באמצעות חשבון Google'
redirect UX משתמש במאפיין הזה. |
native_callback |
פונקציית JavaScript המטפלת בפרטי כניסה של סיסמה. |
cancel_on_tap_outside |
ביטול ההנחיה אם המשתמש לוחץ מחוץ להנחיה. |
prompt_parent_id |
מזהה ה-DOM של רכיב מאגר ההנחיות של One Tap |
nonce |
מחרוזת אקראית לאסימונים מזהים |
context |
הכותרת והמילים בהודעה 'הקשה אחת' |
state_cookie_domain |
כדי להפעיל את One Tap בדומיין הראשי ובתת-הדומיינים שלו, צריך להעביר את הדומיין ההורה לשדה הזה כדי שניתן יהיה להשתמש בקובץ cookie משותף אחד. |
ux_mode |
תהליך חוויית המשתמש בלחצן 'כניסה באמצעות חשבון Google' |
allowed_parent_origin |
המקורות שמורשים להטמיע את iframe הביניים. אם השדה הזה נמצא, הפקודה One Tap פועלת במצב ביניים של iframe. |
intermediate_iframe_close_callback |
ביטול התנהגות ברירת המחדל של iframe ברמת ביניים כשמשתמשים סוגרים ידנית את הקשה אחת. |
itp_support |
מפעיל חוויית משתמש משודרגת בהקשה אחת בדפדפני ITP. |
login_hint |
ניתן לספק רמז למשתמש כדי לדלג על בחירת החשבון. |
hd |
הגבילו את בחירת החשבונות לפי דומיין. |
use_fedcm_for_prompt |
הדפדפן יכול לשלוט בבקשות הכניסה של משתמשים ולתווך את תהליך הכניסה בין האתר שלך ל-Google. |
client_id
השדה הזה מכיל את מזהה הלקוח של האפליקציה, שנמצא ונוצר במסוף Google Cloud. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | כן | client_id: "CLIENT_ID.apps.googleusercontent.com" |
auto_select
השדה הזה קובע אם אסימון מזהה מוחזר באופן אוטומטי ללא כל אינטראקציה של משתמש, כשיש רק סשן אחד ב-Google שאושר קודם לאפליקציה. ערך ברירת המחדל הוא false
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
boolean | אופציונלי | auto_select: true |
קריאה חוזרת (callback)
השדה הזה הוא פונקציית JavaScript שמטפלת באסימון המזהה שהוחזר מההנחיה One Tap או מהחלון הקופץ. המאפיין הזה נדרש אם משתמשים במצב חוויית משתמש
בהקשה על Google One או בלחצן 'כניסה באמצעות חשבון Google' popup
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
פונקציה | נדרשת להקשה אחת ולמצב חוויית המשתמש popup |
callback: handleResponse |
login_uri
המאפיין הזה הוא ה-URI של נקודת הקצה להתחברות.
הערך צריך להתאים במדויק לאחד ממזהי ה-URI המורשים להפניה אוטומטית בלקוח OAuth 2.0, שהגדרתם במסוף Google Cloud, והוא צריך לעמוד בכללי האימות של URI של הפניה אוטומטית.
יכול להיות שהמאפיין הזה יושמט אם הדף הנוכחי הוא דף ההתחברות שלכם, ובמקרה כזה פרטי הכניסה מתפרסמים בדף הזה כברירת מחדל.
התגובה של פרטי הכניסה לאסימון המזהה מתפרסמת בנקודת הקצה להתחברות כשמשתמש לוחץ על הלחצן 'כניסה באמצעות חשבון Google' ומפנה לכתובת URL אחרת את מצב חוויית המשתמש.
מידע נוסף זמין בטבלה הבאה:
סוג | אופציונלי | דוגמה |
---|---|---|
כתובת URL | ברירת המחדל היא ה-URI של הדף הנוכחי, או הערך שציינתם. יש להשתמש רק כשמוגדר ux_mode: "redirect" . |
login_uri="https://www.example.com/login" |
נקודת הקצה להתחברות צריכה לטפל בבקשות POST שמכילות מפתח credential
עם ערך של אסימון מזהה בגוף.
דוגמה לבקשה לנקודת הקצה להתחברות:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
credential=ID_TOKEN
native_callback
השדה הזה הוא השם של פונקציית ה-JavaScript שמטפלת בפרטי הכניסה לסיסמה שמוחזרים ממנהל פרטי הכניסה המקורי של הדפדפן. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
פונקציה | אופציונלי | native_callback: handleResponse |
cancel_on_tap_outside
השדה הזה קובע אם לבטל את הבקשה בהקשה אחת, במקרה שמשתמש לוחץ מחוץ להודעה. ערך ברירת המחדל הוא true
. אפשר להשבית אותה אם מגדירים את הערך false
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
boolean | אופציונלי | cancel_on_tap_outside: false |
prompt_parent_id
המאפיין הזה מגדיר את מזהה ה-DOM של רכיב מאגר התגים. אם המדיניות לא מוגדרת, ההנחיה הקשה אחת תוצג בפינה השמאלית העליונה של החלון. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | prompt_parent_id: 'parent_id' |
צופן חד-פעמי (nonce)
השדה הזה הוא מחרוזת אקראית שמשמשת את האסימון המזהה כדי למנוע התקפות שליחה מחדש. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | nonce: "biaqbm70g23" |
אורך ה-Nonce מוגבל לגודל ה-JWT המקסימלי שנתמך בסביבה שלכם ולמגבלות הגודל של ה-HTTP של הדפדפן והשרת.
context
השדה הזה משנה את הטקסט של הכותרת וההודעות בהנחיה 'הקשה אחת'. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | context: "use" |
בטבלה הבאה מפורטים כל ההקשרים הזמינים והתיאורים שלהם:
הקשר | |
---|---|
signin |
'כניסה באמצעות חשבון Google' |
signup |
"הרשמה באמצעות Google" |
use |
"שימוש עם Google" |
state_cookie_domain
אם אתם צריכים להציג את One Tap בדומיין ההורה ובתת-הדומיינים שלו, צריך להעביר את הדומיין ההורה לשדה הזה כדי להשתמש בקובץ cookie אחד של מצב משותף. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | state_cookie_domain: "example.com" |
ux_mode
בשדה הזה מגדירים את תהליך חוויית המשתמש כשמשתמשים בלחצן 'כניסה באמצעות חשבון Google'. ערך ברירת המחדל הוא popup
. למאפיין הזה אין השפעה על חוויית המשתמש של OneTap. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | ux_mode: "redirect" |
בטבלה הבאה מפורטים מצבי חוויית המשתמש הזמינים והתיאורים שלהם.
מצב UX | |
---|---|
popup |
מבצע תהליך חוויית משתמש של כניסה בחלון קופץ. |
redirect |
מבצע זרימת חוויית משתמש של כניסה על ידי הפניה מחדש של דף מלא. |
allowed_parent_origin
המקורות שמורשים להטמיע את iframe הביניים. הקשה אחת פועלת במצב ביניים של iframe, אם השדה הזה מופיע. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזות או מערך מחרוזות | אופציונלי | allowed_parent_origin: "https://example.com" |
בטבלה הבאה מפורטים סוגי הערכים הנתמכים והתיאורים שלהם.
סוגי ערכים | ||
---|---|---|
string |
ה-URI של דומיין אחד. | "https://example.com" |
string array |
מערך של מזהי URI של דומיינים. | ["https://news.example.com", "https://local.example.com"] |
יש תמיכה גם בקידומות של תווים כלליים לחיפוש. לדוגמה, "https://*.example.com"
תואם ל-example.com
ולתתי-הדומיינים שלו בכל הרמות (למשל news.example.com
, login.news.example.com
). דברים שחשוב לזכור כשמשתמשים בתווים כלליים לחיפוש:
- מחרוזות תבנית לא יכולות להיות מורכבות רק מתו כללי לחיפוש ומדומיין
ברמה עליונה. לדוגמה
https://.com
ו-https://
.co.uk
לא חוקיים; כפי שצוין למעלה,"https://.example.com"
תואם אתexample.com
ותת-הדומיינים שלו. אפשר גם להשתמש במערך כדי לייצג 2 דומיינים שונים. לדוגמה,["https://example1.com", "https://
.example2.com"]
תואם לדומייניםexample1.com
,example2.com
ותת-הדומיינים שלexample2.com
- דומיינים עם תווים כלליים לחיפוש חייבים להתחיל בסכמת https:// מאובטחת, ולכן
"*.example.com"
נחשב לא חוקי.
אם הערך של השדה allowed_parent_origin
לא חוקי, האתחול בהקשה אחת של מצב ה-iframe ברמת הביניים ייכשל ותיפסק.
intermediate_iframe_close_callback
ביטול התנהגות ברירת המחדל של iframe מתווכת כשמשתמשים סוגרים ידנית את One Tap על ידי הקשה על הלחצן 'X' בממשק המשתמש של הקשה אחת. ברירת המחדל היא להסיר מיד את ה-iframe הביניים מה-DOM.
השדה intermediate_iframe_close_callback
פועל רק במצב ביניים של iframe. היא משפיעה רק על ה-iframe הביניים, במקום על ה-iframe One Tap. ממשק המשתמש בהקשה אחת מוסר לפני שמפעילים את הקריאה החוזרת.
סוג | חובה | דוגמה |
---|---|---|
פונקציה | אופציונלי | intermediate_iframe_close_callback: logBeforeClose |
itp_support
השדה הזה קובע אם צריך להפעיל את
חוויית המשתמש המשודרגת ב-One Tap בדפדפנים שתומכים במניעת מעקב חכמה (ITP). ערך ברירת המחדל הוא false
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
boolean | אופציונלי | itp_support: true |
login_hint
אם האפליקציה יודעת מראש איזה משתמש צריך להיכנס, היא יכולה לספק ל-Google רמז להתחברות. אם הפעולה מצליחה, המערכת תדלג על בחירת החשבון. הערכים הקבילים הם: כתובת אימייל או ערך שדה sub של אסימון מזהה.
למידע נוסף, עיינו בשדה login_hint במסמכי התיעוד של OpenID Connect.
סוג | חובה | דוגמה |
---|---|---|
מחרוזת, כתובת אימייל או הערך מהשדה sub של אסימון מזהה. |
אופציונלי | login_hint: 'elisa.beckett@gmail.com' |
hd
אם למשתמש יש כמה חשבונות והוא צריך להיכנס רק באמצעות חשבון Workspace שלו, הוא יכול לשמש כדי לספק ל-Google רמז לשם דומיין. כשהפעולה תושלם, חשבונות המשתמשים שיוצגו במהלך בחירת החשבון יוגבלו לדומיין שצוין.
ערך של תו כללי לחיפוש: *
כולל רק חשבונות Workspace למשתמש, ולא כולל חשבונות של צרכנים (user@gmail.com) במהלך בחירת החשבון.
למידע נוסף, ראה את השדה hd במסמכי התיעוד של OpenID Connect.
סוג | חובה | דוגמה |
---|---|---|
מחרוזת. שם דומיין שמוגדר במלואו או *. | אופציונלי | hd: '*' |
use_fedcm_for_prompt
מאפשרת לדפדפן לשלוט בבקשות הכניסה של משתמשים ולתווך את תהליך הכניסה בין האתר שלכם ל-Google. ברירת המחדל היא FALSE. למידע נוסף, ראו העברה ל-FedCM.
סוג | חובה | דוגמה |
---|---|---|
boolean | אופציונלי | use_fedcm_for_prompt: true |
שיטה: google.accounts.id.prompt
השיטה google.accounts.id.prompt
מציגה את הבקשה בהקשה אחת או את מנהל פרטי הכניסה המקוריים של הדפדפן, אחרי הפעלת השיטה initialize()
.
קטע הקוד לדוגמה הבא של השיטה:
google.accounts.id.prompt(/**
@type{(function(!PromptMomentNotification):void)=} */ momentListener)
בדרך כלל, מתבצעת קריאה ל-method prompt()
בזמן טעינת הדף. בגלל סטטוס הסשן והגדרות המשתמש בצד של Google, יכול להיות שממשק המשתמש של ההצעה לפעולה בהקשה אחת לא יוצג. כדי לקבל התראות על הסטטוס של ממשק המשתמש ברגעים שונים, צריך להעביר פונקציה כדי לקבל התראות על סטטוס ממשק המשתמש.
התראות מופעלות ברגעים הבאים:
- רגע לתצוגה: האירוע הזה מתרחש אחרי קריאה לשיטה
prompt()
. ההתראה מכילה ערך בוליאני שמציין אם ממשק המשתמש מוצג או לא. רגע שדילגת עליו: מצב זה קורה כאשר הבקשה בהקשה אחת נסגרת על ידי ביטול אוטומטי, ביטול ידני או כש-Google לא מצליחה להנפיק פרטי כניסה, למשל כשסשן שנבחר התנתק מ-Google.
במקרים כאלה, מומלץ להמשיך לספקי הזהויות הבאים, אם יש כאלה.
רגע שנסגר: מצב כזה קורה כש-Google מאחזרת פרטי כניסה או כשמשתמש רוצה להפסיק את תהליך אחזור פרטי הכניסה. לדוגמה, כשהמשתמש מתחיל להזין את שם המשתמש והסיסמה בתיבת הדו-שיח של ההתחברות, אפשר לקרוא לשיטה
google.accounts.id.cancel()
כדי לסגור את ההודעה בהקשה אחת ולהפעיל רגע שנסגר.
הקוד לדוגמה הבא מיישם את התכונה 'רגע שדילגת עליו':
<script>
window.onload = function () {
google.accounts.id.initialize(...);
google.accounts.id.prompt((notification) => {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// continue with another identity provider.
}
});
};
</script>
סוג הנתונים: PromptPromptNotification
בטבלה הבאה מפורטות השיטות והתיאורים של סוג הנתונים PromptMomentNotification
:
שיטה | |
---|---|
isDisplayMoment() |
האם ההתראה הזו היא זמנית לצורך תצוגה? הערה: כש-FedCM מופעל, ההתראה הזו לא מופעלת. למידע נוסף, אפשר לעיין בדף העברה ל-FedCM. |
isDisplayed() |
האם ההתראה הזו מופיעה זמנית במסך, וממשק המשתמש מוצג? הערה: כש-FedCM מופעל, ההתראה הזו לא מופעלת. למידע נוסף, אפשר לעיין בדף העברה ל-FedCM. |
isNotDisplayed() |
האם ההתראה מופיעה כרגע בתצוגה, וממשק המשתמש לא מוצג? הערה: כש-FedCM מופעל, ההתראה הזו לא מופעלת. למידע נוסף, אפשר לעיין בדף העברה ל-FedCM. |
getNotDisplayedReason() |
הסיבה המפורטת לכך שממשק המשתמש לא מוצג. אלה הערכים האפשריים:
|
isSkippedMoment() |
האם ההתראה הזו מוצגת למשך רגע שדילגת עליו? |
getSkippedReason() |
הסיבה המפורטת לרגע שעליו דילגת. אלה הערכים האפשריים:
|
isDismissedMoment() |
האם ההתראה הזו קשורה לרגע שנסגר? |
getDismissedReason() |
הסיבה המפורטת לסגירה. אלה הערכים האפשריים:
|
getMomentType() |
החזרת מחרוזת עבור סוג הרגע. אלה הערכים האפשריים:
|
סוג הנתונים: CredentialResponse
כשהפונקציה callback
מופעלת, אובייקט CredentialResponse
מועבר בתור הפרמטר. הטבלה הבאה מציגה את השדות שנכללים באובייקט התגובה של פרטי הכניסה:
שעון שדה | |
---|---|
credential |
השדה הזה הוא אסימון המזהה שהוחזר. |
select_by |
השדה הזה קובע את אופן הבחירה של פרטי הכניסה. |
state |
השדה הזה מוגדר רק כשמשתמש לוחץ על לחצן של 'כניסה באמצעות חשבון Google'
כדי להיכנס, והמאפיין state
של הלחצן מצוין. |
פרטי כניסה לחשבון
השדה הזה הוא האסימון המזהה כמחרוזת של אסימון אינטרנט מסוג JSON (JWT) בקידוד base64.
אחרי הפענוח, ה-JWT נראה כמו הדוגמה הבאה:
header { "alg": "RS256", "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature "typ": "JWT" } payload { "iss": "https://accounts.google.com", // The JWT's issuer "nbf": 161803398874, "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID "sub": "3141592653589793238", // The unique ID of the user's Google Account "hd": "gmail.com", // If present, the host domain of the user's GSuite email address "email": "elisa.g.beckett@gmail.com", // The user's email address "email_verified": true, // true, if Google has verified the email address "azp": "314159265-pi.apps.googleusercontent.com", "name": "Elisa Beckett", // If present, a URL to user's profile picture "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler", "given_name": "Elisa", "family_name": "Beckett", "iat": 1596474000, // Unix timestamp of the assertion's creation time "exp": 1596477600, // Unix timestamp of the assertion's expiration time "jti": "abc161803398874def" }
השדה sub
הוא מזהה ייחודי גלובלי של חשבון Google. יש להשתמש בשדה sub
כמזהה של המשתמש בלבד, מכיוון שהוא ייחודי בכל חשבונות Google ולא נעשה בו שימוש חוזר. לא להשתמש בכתובת אימייל כמזהה, כי לחשבון Google יכולות להיות כמה כתובות אימייל בנקודות זמן שונות.
בעזרת השדות email
, email_verified
ו-hd
אפשר לקבוע אם Google מארחת כתובת אימייל ואם היא מהימנה. במקרים שבהם ל-Google יש סמכות, נקבע שהמשתמש הוא הבעלים הלגיטימי של החשבון.
מקרים שבהם Google היא גורם מוסמך:
- לשירות
email
יש סיומת@gmail.com
. זהו חשבון Gmail. email_verified
הוא TRUE ו-hd
מוגדר, זהו חשבון Google Workspace.
משתמשים יכולים להירשם לחשבונות Google בלי להשתמש ב-Gmail או ב-Google Workspace.
אם הסיומת email
לא מכילה את הסיומת @gmail.com
, והמאפיין hd
חסר, Google לא מורשית. מומלץ להשתמש בסיסמה או בשיטות אחרות לאימות המשתמש כדי לאמת את המשתמש. email_verfied
יכול גם להיות נכון כי Google אימתה לראשונה את המשתמש כשחשבון Google נוצר, אבל ייתכן שהבעלות על חשבון האימייל של הצד השלישי השתנתה מאז.
בשדה exp
מוצג זמן התפוגה לצורך אימות האסימון בצד השרת. האסימון המזהה שמתקבל מכניסה באמצעות חשבון Google הוא שעה אחת. עליכם לאמת את האסימון לפני מועד התפוגה. אין להשתמש באפליקציה exp
לניהול סשנים. אסימון מזהה שפג תוקפו לא אומר שהמשתמש מנותק. האפליקציה שלכם אחראית על ניהול הסשנים של המשתמשים.
select_by
בטבלה הבאה מפורטים הערכים האפשריים בשדה select_by
. סוג הלחצן המשמש יחד עם הסשן ומצב ההסכמה משמשים להגדרת הערך,
המשתמש לחץ על הלחצן 'הקשה אחת' או על 'כניסה באמצעות חשבון Google', או השתמש בתהליך של כניסה אוטומטית ללא מגע.
נמצאה פעילות קיימת באתר, או שהמשתמש בחר ונכנס לחשבון Google כדי ליצור פעילות חדשה באתר.
לפני שתשתפו עם האפליקציה את פרטי הכניסה של אסימון מזהה, המשתמש
- לחצו על הלחצן 'אישור' כדי להעניק את הסכמתם לשתף פרטי כניסה, או
- הסכימו בעבר והשתמשו ב'בחירת חשבון' כדי לבחור חשבון Google.
הערך בשדה הזה מוגדר לאחד מהסוגים הבאים:
תמורה לכסף | תיאור |
---|---|
auto |
כניסה אוטומטית של משתמש עם סשן קיים שהסכים בעבר לשתף פרטי כניסה. רלוונטי רק לדפדפנים שאינם נתמכים על ידי FedCM. |
user |
משתמש שיש לו סשן קיים שהסכים בעבר לחץ על הלחצן 'המשך בהקשה אחת' כדי לשתף את פרטי הכניסה. רלוונטי רק לדפדפנים שאינם נתמכים על ידי FedCM. |
fedcm |
אחד מהמשתמשים לחץ על הלחצן 'המשך בתור' בהקשה אחת כדי לשתף את פרטי הכניסה באמצעות FedCM. רלוונטי רק לדפדפנים נתמכים של FedCM. |
fedcm_auto |
כניסה אוטומטית של משתמש עם סשן קיים שהסכים בעבר לשתף פרטי כניסה באמצעות FedCM One Tap. רלוונטי רק לדפדפנים נתמכים של FedCM. |
user_1tap |
משתמש שיש לו סשן קיים לחץ על הלחצן 'המשך בהקשה אחת' כדי להעניק הסכמה ולשתף את פרטי הכניסה. רלוונטי רק ל-Chrome מגרסה 75 ואילך. |
user_2tap |
משתמש שאין לו סשן קיים לחץ על הלחצן 'המשך בהקשה אחת' כדי לבחור חשבון, ואז לחץ על הלחצן 'אישור' בחלון קופץ כדי להביע הסכמה ולשתף פרטי כניסה. רלוונטי לדפדפנים שאינם מבוססים על Chromium. |
btn |
משתמש שיש לו סשן קיים שהסכים בעבר לחץ על הלחצן 'כניסה באמצעות חשבון Google' ובחר חשבון Google מתוך 'בחירת חשבון' כדי לשתף את פרטי הכניסה. |
btn_confirm |
משתמש שיש לו סשן קיים לחץ על הלחצן 'כניסה באמצעות חשבון Google' ולחץ על הלחצן 'אישור' כדי להביע הסכמה ולשתף את פרטי הכניסה. |
btn_add_session |
משתמש ללא סשן קיים שהסכים בעבר לחץ על הלחצן 'כניסה באמצעות חשבון Google' כדי לבחור חשבון Google ולשתף את פרטי הכניסה. |
btn_confirm_add_session |
משתמש שאין לו סשן קיים לחץ קודם על הלחצן 'כניסה באמצעות חשבון Google' כדי לבחור חשבון Google, ואז לחץ על הלחצן 'אישור' כדי להביע הסכמה ולשתף פרטי כניסה. |
state
השדה הזה מוגדר רק כשמשתמש לוחץ על לחצן 'כניסה באמצעות חשבון Google' כדי להיכנס, ומצוין המאפיין state
של הלחצן. הערך בשדה הזה זהה לערך שציינתם במאפיין state
של הלחצן.
ניתן לעבד באותו דף לחצנים מרובים לכניסה באמצעות חשבון Google, כך שלכל לחצן יש מחרוזת ייחודית. לכן, ניתן להשתמש בשדה state
כדי לזהות על איזה לחצן לחץ המשתמש כדי להיכנס.
שיטה: google.accounts.id.renderButton
השיטה google.accounts.id.renderButton
מעבדת את הלחצן 'כניסה באמצעות חשבון Google' בדפי האינטרנט.
קטע הקוד לדוגמה הבא של השיטה:
google.accounts.id.renderButton(
/** @type{!HTMLElement} */ parent,
/** @type{!GsiButtonConfiguration} */ options
)
סוג הנתונים: GsiButtonConfiguration
בטבלה הבאה מפורטים השדות והתיאורים של סוג הנתונים GsiButtonConfiguration
:
מאפיין | |
---|---|
type |
סוג הלחצן: סמל או לחצן רגיל. |
theme |
עיצוב הלחצן. לדוגמה, filled_blue או filled_black. |
size |
גודל הלחצן. לדוגמה, קטן או גדול. |
text |
הטקסט של הלחצן. לדוגמה, "כניסה באמצעות חשבון Google" או "הרשמה באמצעות Google". |
shape |
צורת הלחצן. לדוגמה: מלבן או מעגלי. |
logo_alignment |
יישור הלוגו של Google: לשמאל או למרכז. |
width |
רוחב הלחצן, בפיקסלים. |
locale |
אם היא מוגדרת, שפת הלחצן עוברת רינדור. |
click_listener |
אם המדיניות מוגדרת, הפונקציה הזו מפעילה את הפונקציה אחרי לחיצה על הלחצן 'כניסה באמצעות חשבון Google'. |
state |
אם היא מוגדרת, המחרוזת הזו תוחזר עם האסימון המזהה. |
סוגי מאפיינים
הקטעים הבאים מכילים פרטים על הסוג של כל מאפיין ודוגמה.
סוג
סוג הלחצן. ערך ברירת המחדל הוא standard
.
מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | כן | type: "icon" |
בטבלה הבאה מפורטים סוגי הלחצנים הזמינים והתיאורים שלהם:
סוג | |
---|---|
standard |
|
icon |
עיצוב
עיצוב הלחצן. ערך ברירת המחדל הוא outline
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | theme: "filled_blue" |
בטבלה הבאה מפורטים הנושאים הזמינים והתיאורים שלהם:
עיצוב | |
---|---|
outline |
|
filled_blue |
|
filled_black |
size
גודל הלחצן. ערך ברירת המחדל הוא large
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | size: "small" |
בטבלה הבאה מפורטים גודלי הלחצנים הזמינים והתיאורים שלהם:
גודל | |
---|---|
large |
|
medium |
|
small |
טקסט
הטקסט של הלחצן. ערך ברירת המחדל הוא signin_with
. אין הבדלים חזותיים לטקסט של לחצני הסמלים שיש להם מאפייני text
שונים.
היוצא מן הכלל היחיד הוא כשהטקסט נקרא לצורך נגישות המסך.
מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | text: "signup_with" |
בטבלה הבאה מפורטים כל הטקסטים הזמינים ללחצנים והתיאורים שלהם:
טקסט | |
---|---|
signin_with |
|
signup_with |
|
continue_with |
|
signin |
צורה
צורת הלחצן. ערך ברירת המחדל הוא rectangular
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | shape: "rectangular" |
הטבלה הבאה מפרטת את צורות הלחצנים הזמינות והתיאורים שלהן:
צורה | |
---|---|
rectangular |
|
pill |
|
circle |
|
square |
logo_alignment
יישור הלוגו של Google. ערך ברירת המחדל הוא left
. המאפיין הזה רלוונטי רק ללחצן standard
. מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | logo_alignment: "center" |
הטבלה הבאה מפרטת את היישורים הזמינים ואת התיאורים שלהם:
logo_alignment | |
---|---|
left |
|
center |
רוחב
רוחב הלחצן המינימלי, בפיקסלים. הרוחב המקסימלי הוא 400 פיקסלים.
מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | width: "400" |
שילוב של שפה ואזור
זה שינוי אופציונלי. להציג טקסט של הלחצן לפי הלוקאל שצוין, אחרת ברירת המחדל היא לפי הגדרות הדפדפן או חשבון Google של המשתמש. מוסיפים את הפרמטר hl
ואת קוד השפה להוראה של src כשטוענים את הספרייה, לדוגמה: gsi/client?hl=<iso-639-code>
.
אם היא לא מוגדרת, נעשה שימוש בלוקאל שמוגדר כברירת מחדל בדפדפן או בהעדפה של משתמש הסשן ב-Google. לכן, משתמשים שונים עשויים לראות גרסאות שונות של לחצנים שמותאמים לשוק המקומי, וגם בגדלים שונים.
מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | locale: "zh_CN" |
click_listener
אפשר להגדיר קריאה לפונקציה של JavaScript כשמשתמש לוחץ על הלחצן 'כניסה באמצעות חשבון Google' באמצעות המאפיין click_listener
.
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
בדוגמה זו, ההודעה Sign in with Google button clicks... (כניסה באמצעות לחצן הכניסה באמצעות חשבון Google) תתועד במסוף בעת לחיצה על הלחצן 'כניסה באמצעות חשבון Google'.
state
אופציונלי, מכיוון שניתן לעבד מספר לחצנים לכניסה באמצעות חשבון Google באותו דף, ניתן לך להקצות מחרוזת ייחודית לכל לחצן. אותה מחרוזת תחזור יחד עם האסימון המזהה, כך שתוכלו לזהות על איזה לחצן המשתמש לחץ כדי להיכנס.
מידע נוסף זמין בטבלה הבאה:
סוג | חובה | דוגמה |
---|---|---|
מחרוזת | אופציונלי | data-state="button 1" |
סוג הנתונים: פרטי כניסה
כשהפונקציה native_callback
מופעלת, אובייקט Credential
מועבר בתור הפרמטר. הטבלה הבאה מציגה את השדות שנכללים באובייקט:
שעון שדה | |
---|---|
id |
מזהה את המשתמש. |
password |
הסיסמה |
שיטה: google.accounts.id.disableAutoSelect
כשהמשתמש יוצא מהאתר, צריך לקרוא לשיטה google.accounts.id.disableAutoSelect
כדי לתעד את הסטטוס בקובצי cookie. כך נמנעת
לולאה דלילה של חוויית המשתמש. ראה את קטע הקוד הבא של השיטה:
google.accounts.id.disableAutoSelect()
דוגמת הקוד הבאה מטמיעה את השיטה google.accounts.id.disableAutoSelect
עם הפונקציה onSignout()
:
<script>
function onSignout() {
google.accounts.id.disableAutoSelect();
}
</script>
Method: google.accounts.id.storeCredential
השיטה הזו היא wrapper עבור השיטה store()
של ממשק ה-API של מנהל פרטי הכניסה המקורי של הדפדפן. לכן, ניתן להשתמש בו רק כדי לאחסן פרטי כניסה לסיסמה. קטע הקוד לדוגמה הבא של השיטה:
google.accounts.id.storeCredential(Credential, callback)
דוגמת הקוד הבאה מטמיעה את השיטה google.accounts.id.storeCredential
עם הפונקציה onSignIn()
:
<script>
function onSignIn() {
let cred = {id: '...', password: '...'};
google.accounts.id.storeCredential(cred);
}
</script>
שיטה: google.accounts.id.cancel
אפשר לבטל את התהליך בהקשה אחת, אם מסירים את הבקשה מה-DOM של הצד הנסמך. אם פרטי הכניסה כבר נבחרו, המערכת מתעלמת מפעולת הביטול. לפניכם דוגמת הקוד של השיטה:
google.accounts.id.cancel()
הקוד לדוגמה הבא מטמיע את השיטה google.accounts.id.cancel()
באמצעות הפונקציה onNextButtonClicked()
:
<script>
function onNextButtonClicked() {
google.accounts.id.cancel();
showPasswordPage();
}
</script>
קריאה חוזרת לטעינת ספרייה: onGoogleLibraryLoad
אפשר לרשום קריאה חוזרת (callback) של onGoogleLibraryLoad
. מתקבלת הודעה לאחר שספריית ה-JavaScript
'כניסה באמצעות חשבון Google' נטענת:
window.onGoogleLibraryLoad = () => {
...
};
הקריאה החוזרת (callback) הזו היא רק קיצור דרך להתקשרות חזרה של window.onload
. אין
הבדלים בהתנהגות.
הקוד לדוגמה הבא מטמיע קריאה חוזרת של onGoogleLibraryLoad
:
<script>
window.onGoogleLibraryLoad = () => {
google.accounts.id.initialize({
...
});
google.accounts.id.prompt();
};
</script>
שיטה: google.accounts.id.revock
השיטה google.accounts.id.revoke
מבטלת את הרשאת ה-OAuth ששימשה לשיתוף האסימון המזהה של המשתמש שצוין. מעיינים בקטע הקוד הבא של השיטה:
javascript
google.accounts.id.revoke(login_hint, callback)
פרמטר | סוג | תיאור |
---|---|---|
login_hint |
מחרוזת | כתובת האימייל או המזהה הייחודי של חשבון Google של המשתמש. המזהה הוא המאפיין sub של המטען הייעודי (payload) של פרטי הכניסה. |
callback |
פונקציה | handler אופציונלי של RevocationResponse. |
דוגמת הקוד הבאה מציגה איך להשתמש בשיטה revoke
עם מזהה.
google.accounts.id.revoke('1618033988749895', done => { console.log(done.error); });
סוג הנתונים: RevocationResponse
כשהפונקציה callback
מופעלת, אובייקט RevocationResponse
מועבר בתור הפרמטר. בטבלה הבאה מפורטים השדות שנכללים באובייקט של תגובת הביטול:
שעון שדה | |
---|---|
successful |
השדה הזה הוא הערך המוחזר של הקריאה ל-method. |
error |
השדה הזה יכול להכיל גם הודעת שגיאה מפורטת. |
הפעולה בוצעה
השדה הזה הוא ערך בוליאני שמוגדר כ-True אם הקריאה לשיטת הביטול הצליחה או FALSE במקרה של כישלון.
error
השדה הזה הוא ערך מחרוזת ומכיל הודעת שגיאה מפורטת במקרה שהקריאה ל-method נכשלה, הוא לא מוגדר בהצלחה.