Tożsamość między klientami

Podczas tworzenia oprogramowania programiści zwykle uwzględniają moduły działające na serwerze internetowym, inne moduły działające w przeglądarce oraz moduły działające jako aplikacje mobilne na Androida lub iOS. Zarówno deweloperzy, jak i użytkownicy ich oprogramowania zwykle uważają wszystkie te moduły za część jednej aplikacji.

Implementacja protokołu OAuth 2.0 od Google obsługuje ten sposób postrzegania świata. Aby korzystać z usług opartych na protokole OAuth 2.0, musisz skonfigurować oprogramowanie w  Google API Console. Jednostką organizacyjną w  API Console jest „projekt”, który może odpowiadać aplikacji składającej się z wielu komponentów. W przypadku każdego projektu możesz podać informacje o markach i musisz określić, do których interfejsów API aplikacja będzie mieć dostęp. Każdy komponent aplikacji wielokomponentowej jest identyfikowany za pomocą identyfikatora klienta, czyli unikalnego ciągu znaków generowanego w  API Console.

Cele autoryzacji w wielu usługach

Gdy aplikacja używa OAuth 2.0 do autoryzacji, działa w imieniu użytkownika, aby poprosić o token dostępu OAuth 2.0 do zasobu, który aplikacja identyfikuje za pomocą co najmniej jednego ciągu zakresu. Zwykle użytkownik jest proszony o zatwierdzenie dostępu.

Gdy użytkownik przyznaje aplikacji dostęp w określonym zakresie, widzi ekran zgody użytkownika, który zawiera branding produktu na poziomie projektu skonfigurowany 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 ufa całej aplikacji w zakresie tego zakresu.

Dzięki temu użytkownik nie powinien być proszony o zatwierdzenie dostępu do żadnego zasobu więcej niż raz w przypadku tej samej aplikacji logicznej, o ile komponenty aplikacji mogą być wiarygodnie uwierzytelniane przez infrastrukturę autoryzacji Google, która obecnie obejmuje aplikacje internetowe, aplikacje na Androida, aplikacje Chrome, aplikacje na iOS, aplikacje na komputery i urządzenia z ograniczonymi możliwościami wprowadzania danych.

Tokeny dostępu obejmujące wiele 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. Zwykle przyznanie tokena dostępu wymaga zgody użytkownika.

Na szczęście infrastruktura autoryzacji Google może używać informacji o zgodach użytkowników na identyfikator klienta w danym projekcie, aby ocenić, czy autoryzować inne osoby w tym samym projekcie.

Jeśli aplikacja na Androida poprosi o token dostępu w określonym zakresie, a użytkownik, który wysyła prośbę, przyznał już zgodę aplikacji internetowej w tym samym projekcie na ten sam zakres, nie zostanie poproszony o ponowne zatwierdzenie. Działa to w obie strony: jeśli dostęp do zakresu został przyznany w aplikacji na Androida, nie będzie on ponownie wymagany od innego klienta w tym samym projekcie, np. aplikacji internetowej.