Android ma scentralizowany system zarządzania danymi uwierzytelniającymi do usług online (takich jak konto Google). Jeden składnik nazywa się AccountManager
. Niektóre aplikacje mogą „ działać jako uwierzytelniacz konta ”. Oznacza to, że rozumieją, jak zalogować się do określonej usługi online i mogą zalogować się do tej usługi w celu AccountManager
. Inne aplikacje chcą korzystać z tych danych logowania, aby Cię zidentyfikować lub wykonać czynności w Twoim imieniu, bez konieczności podawania hasła za każdym razem.
Przykład: logowanie do Google
Twój telefon ma wbudowaną aplikację, która „działa jako uwierzytelniacz konta” dla Twojego konta Google. Wie, jak zalogować się do Google, a także adres e-mail i hasło, które podałeś podczas konfigurowania telefonu. Istnieje również aplikacja YouTube, która chce się zalogować, aby wyświetlić ulubione filmy i umożliwić komentowanie, ale bez konieczności ponownego wprowadzania adresu e-mail i hasła.
Ta aplikacja YouTube rozmawia z AccountManager
i pyta, czy ma dane uwierzytelniające do konta Google. Zadanie tego pytania wymaga uprawnienia „znajdź konta na urządzeniu”. AccountManager
Ma listę uwierzytelniających zainstalowanych w telefonie, który konsultuje się odpowiedzieć na to pytanie. Jeśli ma jakieś dane uwierzytelniające, aplikacja zapyta o tak zwany „ authtoken” dla konta Google. To żądanie wymaga uprawnienia „ Użyj kont na urządzeniu ”.
AccountManager
Następnie zapyta, czy chcesz wnioskujące aplikacji (YouTube), aby móc korzystać z konta (wymagane konto Google). Może to być okno dialogowe wyświetlane nad aplikacją lub powiadomienie. Alternatywnie, aplikacja może nic nie robić, jeśli nie odpowiedzieliście „tak” na to pytanie: może chcieć zapytać później w dogodniejszym czasie. Ten krok zapewnia, że aplikacja z uprawnieniem „Użyj kont na urządzeniu” nie będzie mogła natychmiast użyć każdego konta bez pytania.
Jeśli powiesz tak, AccountManager
przekaże żądanie do wystawcy uwierzytelnienia (wbudowanej aplikacji Google). To, co stanie się potem, zależy od wystawcy uwierzytelnienia i konkretnej usługi, do której się logujesz. Może być konieczne zalogowanie się, jeśli wcześniej tego nie zrobiłeś, a zalogowanie może wymagać nazwy użytkownika i hasła, zdjęcia, SMS-a lub czegoś innego. Cokolwiek zrobi wystawca uwierzytelnienia, może się nie powieść lub zwrócić tokenowi aplikacji.
Dalsze kontrole
Uwierzytelniający i usługa online mogą również kontrolować, jakie działania może wykonać aplikacja żądająca. Na przykład po podłączeniu aplikacji do konta Google Google wymienia uprawnienia, których potrzebuje aplikacja (takie jak „przesyłanie filmów wideo do YouTube”). Dlatego aplikacja może wykonywać tylko wymienione działania. Jednak niektóre usługi mogą nie mieć czegoś takiego; w przypadku takiej usługi, gdy zezwolisz aplikacji na korzystanie z poświadczeń, może ona podjąć dowolne działanie w Twoim imieniu.
Gdy aplikacja żądająca uzyska authtoken, może nadal używać go do wykonywania działań w Twoim imieniu bez dalszej interakcji z Tobą. Oznacza to, że po ustaleniu, że klient Twittera Dana może publikować posty na Twoim kanale Twitter, może on działać w tle i publikować kolejne tweety bez Twojej wiedzy. Powinieneś przyznać aplikacji dostęp do swoich danych uwierzytelniających tylko wtedy, gdy ufasz, że tego nie zrobisz.
Podsumowanie
Aplikacja z uprawnieniem „ Użyj kont na urządzeniu ” może po zainstalowaniu poprosić o dostęp do usługi online (takiej jak Google, Facebook lub Twitter) w Twoim imieniu. Możesz zezwolić mu na dostęp do usługi lub nie. Jeśli zezwolisz mu na dostęp do usługi, działania, które może podjąć w Twoim imieniu, mogą być ograniczone przez usługę (to zależy od usługi), a usługa może pozwolić ci później odwołać to uprawnienie (zwykle za pośrednictwem listy „połączonych aplikacji” „na stronie serwisu).