כשמפתחים יוצרים תוכנה, היא כוללת בדרך כלל מודולים שפועלים בשרת אינטרנט, מודולים אחרים שפועלים בדפדפן ומודולים אחרים שפועלים כאפליקציות מקוריות לנייד. בדרך כלל, גם המפתחים וגם המשתמשים בתוכנה מתייחסים לכל המודולים האלה כחלק מאפליקציה אחת.
הטמעת OAuth 2.0 של Google תומכת בתמונה הזו של העולם. כדי להשתמש באחד מהשירותים שמבוססים על OAuth 2.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, לא יידרש שוב גישה אליו מלקוח אחר באותו פרויקט כמו אפליקציית אינטרנט.