Tożsamość między klientami

Gdy deweloperzy tworzą oprogramowanie, rutynowo zawierają moduły działające na serwerze WWW, inne moduły działające w przeglądarce i inne, które działają jako natywne aplikacje mobilne. Zarówno deweloperzy, jak i użytkownicy oprogramowania, zwykle traktują wszystkie te moduły jako część jednej aplikacji.

Ten widok świata obsługuje implementacja OAuth 2.0 Google. Aby korzystać z usług opartych na OAuth2.0, musisz skonfigurować oprogramowanie w: Google API Console. Jednostka organizacyjna API Console to „projekt”, który może odpowiadać aplikacji wieloskładnikowej. W przypadku każdego projektu możesz podać informacje o marce oraz określić, do których interfejsów API aplikacja będzie mieć dostęp. Każdy składnik aplikacji wieloskładnikowej jest identyfikowany przez identyfikator klienta, czyli niepowtarzalny ciąg generowany w API Console.

Cele autoryzacji dla wielu klientów

Gdy aplikacja do autoryzacji używa protokołu OAuth 2.0, przesyła żądanie tokena dostępu OAuth 2.0 do zasobu, który jest rozpoznawany przez co najmniej jeden ciąg znaków zakresu, w imieniu użytkownika. Zwykle użytkownik jest proszony o zgodę na dostęp.

Gdy użytkownik przyzna dostęp do Twojej aplikacji w określonym zakresie, patrzy na ekran zgody, który zawiera elementy marki usługi na poziomie projektu skonfigurowane w Google API Console. Dlatego Google uznaje, że gdy użytkownik przyznał dostęp do określonego zakresu dowolnemu identyfikatorowi klienta w projekcie, uwierzytelnienie wskazuje zaufanie użytkownika do całej aplikacji w tym zakresie.

W efekcie użytkownik nie powinien być pytany o zgodę na dostęp do któregokolwiek zasobu więcej niż raz dla danej aplikacji logicznej, jeśli komponenty aplikacji mogą być niezawodnie uwierzytelnione przez infrastrukturę autoryzacji Google, która obecnie obejmuje aplikacje internetowe, aplikacje na Androida, aplikacje Chrome, aplikacje na iOS, natywne aplikacje komputerowe i urządzenia o ograniczonych możliwościach wprowadzania danych.

Tokeny dostępu dla 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 o używaniu OAuth 2.0 do korzystania z interfejsów API Google. Normalnie w przypadku przyznania tokena dostępu wymagane jest zatwierdzenie przez użytkownika.

Na szczęście infrastruktura autoryzacji Google może korzystać z informacji o zatwierdzeniach przez użytkowników dla identyfikatora klienta w danym projekcie podczas określania, czy można upoważnić inne osoby w tym samym projekcie.

Skutek jest taki, że jeśli aplikacja na Androida żąda tokena dostępu dla określonego zakresu, a użytkownik wysyłający żądanie udzielił już zatwierdzenia aplikacji internetowej w tym samym projekcie dla tego samego zakresu, użytkownik nie będzie ponownie proszony o zatwierdzenie. Działa to w obie strony: jeśli aplikacji na Androida przyznano dostęp do zakresu, nie będą go już żądania od innego klienta w tym samym projekcie, np. aplikacji internetowej.