זהות מרובת לקוחות

כשמפתחים בונים תוכנה, הם כוללים באופן קבוע מודולים שפועלים בשרת אינטרנט, מודולים אחרים שפועלים בדפדפן ומודולים אחרים שפועלים כאפליקציות מקוריות לנייד. המפתחים והאנשים שמשתמשים בתוכנה שלהם בדרך כלל חושבים על כל המודולים האלה כחלק מאפליקציה אחת.

הטמעת OAuth 2.0 של Google תומכת בראייה זו של העולם. כדי להשתמש בשירותים מבוססי OAuth2.0, צריך להגדיר את התוכנה ב Google API Console. יחידת הארגון ב- API Console היא "פרויקט", שיכול להתאים לאפליקציה שכוללת רכיבים מרובים. עבור כל פרויקט אפשר לספק פרטי מיתוג וצריך לציין לאילו ממשקי API האפליקציה תקבל גישה. כל רכיב באפליקציה מרובת רכיבים מזוהה באמצעות מזהה לקוח – מחרוזת ייחודית שנוצרת ב- API Console.

יעדי הרשאה בין לקוחות

כשאפליקציה משתמשת ב-OAuth 2.0 להרשאה, היא פועלת בשמו של המשתמש ומבקשת אסימון גישה מסוג OAuth 2.0 כדי לקבל גישה למשאב, שאותה האפליקציה מזהה באמצעות מחרוזת היקף אחת או יותר. בדרך כלל, המשתמש מתבקש לאשר את הגישה.

כשמשתמש מעניק הרשאת גישה לאפליקציה שלכם בהיקף מסוים, המשתמש צופה במסך ההסכמה של המשתמש, שכולל מיתוג מוצרים ברמת הפרויקט שהגדרתם ב- Google API Console. לכן, מבחינת Google, כשמשתמש העניק גישה להיקף מסוים לכל מזהה לקוח בפרויקט, ההרשאה מציינת את האמון של המשתמש בכל האפליקציה בהיקף ההרשאות הזה.

כתוצאה מכך, המשתמש לא מתבקש לאשר גישה למשאב יותר מפעם אחת לאותה אפליקציה לוגית. במקרים שבהם אפשר לאמת את רכיבי האפליקציה בצורה אמינה באמצעות תשתית ההרשאות של Google, שכוללת כיום אפליקציות אינטרנט, אפליקציות ל-Android, אפליקציות Chrome, אפליקציות ל-iOS, אפליקציות מקוריות למחשב ומכשירים עם קלט מוגבל,

אסימוני גישה חוצי לקוחות

תוכנות יכולות לקבל אסימוני גישה מסוג OAuth 2.0 במגוון דרכים, בהתאם לפלטפורמה שבה הקוד פועל. פרטים נוספים זמינים במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs. בדרך כלל, נדרש אישור מהמשתמשים כדי לתת אסימון גישה.

למרבה המזל, תשתית ההרשאות של Google יכולה להשתמש במידע על אישורי משתמשים למזהה לקוח בפרויקט נתון כדי להעריך אם לאפשר למשתמשים אחרים באותו פרויקט.

כתוצאה מכך, אם אפליקציה ל-Android מבקשת אסימון גישה להיקף מסוים, והמשתמש ששלח את הבקשה כבר העניק אישור לאפליקציית אינטרנט באותו פרויקט לאותו היקף, המשתמש לא יתבקש שוב לאשר את הבקשה. אפשר לעשות זאת בשתי דרכים: אם ניתנה הרשאת גישה להיקף מסוים באפליקציה ל-Android, הלקוח לא יבקש אותה שוב מלקוח אחר באותו פרויקט, כמו אפליקציית אינטרנט.