Deweloperzy tworząc oprogramowanie, zwykle uwzględniają moduły działające na serwerze internetowym, inne moduły działające w przeglądarce oraz inne moduły działające jako natywne aplikacje mobilne. Zarówno deweloperzy, jak i użytkownicy ich oprogramowania, uważają zwykle, że wszystkie te moduły stanowią część jednej aplikacji.
Implementacja OAuth 2.0 w Google obsługuje to podejście. Aby korzystać z usług opartych na protokole OAuth 2.0, musisz skonfigurować oprogramowanie w Google API Console. Jednostka organizacji w API Console to „projekt”, który może odpowiadać aplikacji wielokomponentowej. W przypadku każdego projektu możesz podać informacje o brandingu i musisz określić, do których interfejsów API ma dostęp aplikacja. Każdy komponent aplikacji wieloskładnikowej jest identyfikowany przez identyfikator klienta, czyli unikalny ciąg znaków generowany w API Console.
Cele autoryzacji obejmujące wielu klientów
Gdy aplikacja używa OAuth 2.0 do autoryzacji, działa w imieniu użytkownika, aby poprosić o token dostępu OAuth 2.0 umożliwiający dostęp do zasobu, który aplikacja identyfikuje za pomocą co najmniej jednego ciągu zakresu. Zwykle użytkownik musi zatwierdzić dostęp.
Gdy użytkownik przyzna aplikacji dostęp do określonych danych, zobaczy ekran zgody, który zawiera informacje o markowaniu produktu na poziomie projektu skonfigurowane przez Ciebie w Google API Console. Dlatego Google uważa, że gdy użytkownik przyzna dostęp do określonego zakresu dowolnemu identyfikatorowi klienta w projekcie, oznacza to, że użytkownik ufa całej aplikacji w tym zakresie.
W efekcie użytkownik nie powinien otrzymywać więcej niż jednego promptu o zatwierdzeniu dostępu do zasobu w ramach tej samej aplikacji logicznej, o ile tylko można niezawodnie uwierzytelnić komponenty aplikacji za pomocą infrastruktury autoryzacji Google, która obejmuje obecnie aplikacje internetowe, aplikacje na Androida, aplikacje w Chrome, aplikacje na iOS, natywne aplikacje na komputery oraz urządzenia z ograniczonym wejściem.
Tokeny dostępu obejmujące wielu klientów
Oprogramowanie może uzyskiwać tokeny dostępu OAuth 2.0 na różne sposoby, w zależności od platformy, na której działa kod. Szczegółowe informacje znajdziesz w artykule Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google. Przyznanie tokena dostępu wymaga zwykle zgody użytkownika.
Na szczęście infrastruktura autoryzacji Google może korzystać z informacji o zatwierdzaniu identyfikatorów klienta w danym projekcie przy ocenianiu, czy można autoryzować innych użytkowników w tym samym projekcie.
Oznacza to, że jeśli aplikacja na Androida poprosi o token dostępu w określonym zakresie, a użytkownik zażądający dostępu udzielił już zgody na aplikację internetową w tym samym projekcie w tym samym zakresie, nie zostanie ponownie poproszony o zatwierdzenie. Działa to w obu kierunkach: jeśli dostęp do zakresu został przyznany w aplikacji na Androida, nie będzie ponownie wymagany od innego klienta w tym samym projekcie, np. aplikacji internetowej.