אפליקציות אינטרנט צריכות לקבל אסימון גישה כדי לשלוח קריאות מאובטחות ל-Google APIs.
ספריית JavaScript של Google Identity Services תומכת גם באימות לצורך כניסת משתמשים וגם בהרשאה לקבלת אסימון גישה לשימוש ב-Google APIs. הספרייה מיועדת לשימוש בדפדפנים בלבד.
אימות קובע מי האדם, ובדרך כלל מתייחסים אליו כאל הרשמה או כניסה של משתמש. הרשאה היא תהליך שבו מאשרים או דוחים גישה לנתונים או למשאבים. הוא כולל קבלת הסכמה מהמשתמשים וניהול שלה, הגבלת כמות הנתונים או המשאבים שמשותפים עם היקפי ההרשאות, ואחזור של טוקן גישה לשימוש עם Google APIs.
המדריכים האלה כוללים נושאים שקשורים להרשאות ולשיתוף נתונים.
במאמר איך פועל אישור משתמש מפורטים השלבים של אישור משתמש, ומוצגות דוגמאות לתיבות דו-שיח למשתמשים.
אם אתם מחפשים עזרה באימות וביישום של הרשמה וכניסה של משתמשים, תוכלו לעיין במאמר בנושא כניסה באמצעות חשבון Google.
הספרייה הזו לא מיועדת לשימוש עם מסגרות JavaScript בצד השרת, כמו Node.js. במקום זאת, צריך להשתמש בספריית הלקוח של Node.js של Google.
מה השתנה
למשתמשים, הספרייה של Google Identity Services מציעה שיפורים רבים בשימושיות בהשוואה לספריות JavaScript קודמות, כולל:
- תהליכי האימות לכניסה לחשבון וההרשאה לקבלת אסימון גישה להפעלת Google APIs הם עכשיו שני תהליכים נפרדים. יש תהליך אחד לכניסה לחשבון ותהליך אחר להסכמה במהלך ההרשאה. התהליכים האלה נפרדים כדי להבחין בבירור בין הזהות שלכם לבין הפעולות שאפליקציה יכולה לבצע.
- שיפור השקיפות והשליטה המפורטת בשיתוף נתונים במהלך הסכמת המשתמשים.
- דיאלוגים מבוססי-דפדפן שמפחיתים את החיכוך, ולא מחייבים את המשתמשים לצאת מהאתר כדי:
- לקבל טוקן גישה מ-Google, או
- שליחת קוד הרשאה לפלטפורמת הקצה העורפי.
למפתחים, התמקדנו בהפחתת המורכבות, בשיפור האבטחה ובפישוט השילוב. דוגמאות לשינויים:
- אימות משתמשים לכניסה והרשאה שמשמשת לקבלת אסימון גישה לקריאה לממשקי Google API הם שני סטים נפרדים של אובייקטים ושיטות של JavaScript. כך אפשר להפחית את המורכבות ואת כמות הפרטים שנדרשים להטמעה של אימות או הרשאה.
- ספריית JavaScript אחת תומכת עכשיו גם ב:
- זרם הענקת גישה משתמע של OAuth 2.0, שמשמש לקבלת טוקן גישה לשימוש בדפדפן
- תהליך קוד ההרשאה של OAuth 2.0, שנקרא גם גישה אופליין, מתחיל במסירה מאובטחת של קוד הרשאה לפלטפורמת ה-Backend שלכם, שבה אפשר להחליף אותו באסימון גישה ובאסימון רענון. בעבר, אפשר היה להשתמש בתהליכי העבודה האלה רק באמצעות כמה ספריות ובאמצעות קריאות ישירות לנקודות הקצה של OAuth 2.0. ספרייה אחת מקצרת את זמן השילוב ומפחיתה את המאמץ הנדרש. במקום לכלול וללמוד כמה ספריות ומושגים של OAuth 2.0, אפשר להתמקד בממשק מאוחד אחד.
- הוסרה הפניה עקיפה דרך פונקציות בסגנון getter כדי לפשט את הקוד ולשפר את הקריאות שלו.
- כשמטפלים בתשובות של הרשאות, אתם בוחרים אם להשתמש ב-Promise כדי למלא בקשות, במקום שההחלטה הזו תתקבל בשבילכם.
- ספריית הלקוח של Google API ל-JavaScript עודכנה עם השינויים הבאים:
- מודול
gapi.auth2והאובייקטים והשיטות שמשויכים אליו לא נטענים יותר באופן אוטומטי ברקע, והוחלפו באובייקטים ובשיטות של ספריית Google Identity Services. - הסרנו את הרענון האוטומטי של אסימוני גישה שתוקפם פג כדי לשפר את האבטחה והמודעות של המשתמשים. אחרי שאסימון הגישה פג, האפליקציה צריכה לטפל בתשובות לשגיאות ב-Google API, לבקש אסימון גישה חדש ותקין ולקבל אותו.
- כדי לתמוך בהפרדה ברורה בין רגעי האימות וההרשאה, כבר לא ניתן להיכנס לאפליקציה ולחשבון Google של המשתמש בו-זמנית, וגם לקבל טוקן גישה. בעבר, כשביקשתם אסימון גישה, המשתמשים נכנסו גם לחשבון Google שלהם והמערכת החזירה אישור מזהה JWT לאימות המשתמש.
- מודול
- כדי לשפר את האבטחה והפרטיות של המשתמשים, פרטי הכניסה שמונפקים לכל משתמש לצורך הרשאה פועלים לפי העיקרון של הרשאות מינימליות, וכוללים רק אסימון גישה ומידע שנדרש לניהול שלו.