Łączenie konta Google z aplikacją za pomocą OAuth

Połączenie kont za pomocą aplikacji opartej na OAuth (App Flip) umożliwia użytkownikom szybkie połączenie kont w Twoim systemie uwierzytelniania z kontami Google. Jeśli w momencie rozpoczęcia procesu łączenia konta aplikacja jest zainstalowana na telefonie użytkownika, zostanie on płynnie przekierowany do aplikacji, aby uzyskać autoryzację.

Takie podejście przyspiesza proces łączenia, ponieważ użytkownik nie musi ponownie wpisywać nazwy użytkownika i hasła, aby się uwierzytelnić. Zamiast tego funkcja App Flip wykorzystuje dane logowania z konta użytkownika w Twojej aplikacji. Gdy użytkownik połączy swoje konto Google z Twoją aplikacją, będzie mógł korzystać z dowolnych opracowanych przez Ciebie integracji.

Przejście do aplikacji możesz skonfigurować w przypadku aplikacji na iOS i Androida.

Ilustracja przedstawiająca kroki, które użytkownik musi wykonać, aby połączyć swoje konto Google z Twoim systemem uwierzytelniania. Pierwszy zrzut ekranu pokazuje, jak użytkownik może wybrać Twoją aplikację, jeśli jego konto Google jest z nią połączone. Drugi zrzut ekranu pokazuje potwierdzenie połączenia konta Google z Twoją aplikacją. Trzeci zrzut ekranu pokazuje pomyślnie połączone konto użytkownika w aplikacji Google.
Rysunek 1. Łączenie kont na telefonie użytkownika za pomocą funkcji App Flip.

Wymagania

Aby wdrożyć App Flip, musisz spełniać te wymagania:

  • Musisz mieć aplikację na Androida lub iOS.
  • Musisz mieć własny serwer OAuth 2.0, który obsługuje przepływ kodu autoryzacji OAuth 2.0, oraz nim zarządzać i go utrzymywać.

Przepływ przełączania aplikacji oparty na OAuth

Poniższy diagram sekwencji przedstawia interakcję między użytkownikiem, aplikacją Google, Twoją aplikacją i Twoim serwerem autoryzacji w przypadku przełączania aplikacji.

Użytkownik Aplikacja Google Twoja aplikacja Serwer Google Twoja usługa uwierzytelniania 1. Rozpoczyna łączenie 2. Precyzyjny link do Twojej aplikacji 3. Wyświetl ekran zgody 4. User Grants Consent 5. Pobierz kod autoryzacji 6. authorization_code 7. Wróć do aplikacji Google 8. Przekaż kod na serwer Google 9. Token Exchange (POST) 10. access_token, refresh_token 11. Przechowywanie tokenów użytkownika 12. Dostęp do materiałów dla użytkowników
Rysunek 2. Kolejność zdarzeń w przypadku przełączania aplikacji. Jeśli podany jest kod autoryzacji, wymiana tokenów odbywa się między serwerami, tak samo jak w przypadku procesu łączenia OAuth w przeglądarce.

Role i obowiązki

W tabeli poniżej znajdziesz role i obowiązki podmiotów w procesie przekierowania do aplikacji.

Użytkownik, który wykonał czynność lub komponent Rola GAL Podmiot odpowiedzialny
Aplikacja / serwer Google Klient OAuth Rozpoczyna proces łączenia, wywołuje precyzyjny link do Twojej aplikacji mobilnej, wymienia kod autoryzacji na tokeny i bezpiecznie je przechowuje, aby uzyskać dostęp do interfejsów API Twojej usługi.
Twoja aplikacja Agent autoryzacji Uwierzytelnia użytkownika (zwykle za pomocą istniejących danych logowania do aplikacji), uzyskuje zgodę i pobiera kod autoryzacyjny z Twojego serwera.
Serwer autoryzacji Serwer autoryzacji Weryfikuje kody autoryzacji i tokeny odświeżania oraz wydaje tokeny dostępu serwerowi Google.

Wskazówki dotyczące wyglądu

W tej sekcji opisujemy wymagania i zalecenia dotyczące projektu ekranu zgody na połączenie konta w przypadku aplikacji App Flip. Gdy Google wywoła Twoją aplikację, wyświetli ona użytkownikowi ekran zgody.

Wymagania

  1. Musisz poinformować użytkownika, że jego konto jest łączone z Google, a nie z konkretną usługą Google, np. Google Home lub Asystentem Google.

Rekomendacje

Zalecamy wykonanie tych czynności:

  1. Wyświetl Politykę prywatności Google. Na ekranie zgody umieść link do Polityki prywatności Google.

  2. Dane, które mają być udostępniane. Używaj jasnego i zwięzłego języka, aby poinformować użytkownika, jakich danych wymaga Google i dlaczego.

  3. Jednoznaczne wezwanie do działania Na ekranie zgody umieść jasne wezwanie do działania, np. „Zgadzam się i łączę”. Użytkownicy muszą wiedzieć, jakie dane muszą udostępnić Google, aby połączyć swoje konta.

  4. Możliwość odrzucenia lub anulowania. Zapewnij użytkownikom możliwość powrotu, odrzucenia lub anulowania połączenia, jeśli nie chcą go nawiązać.

  5. Możliwość odłączenia Udostępniać użytkownikom mechanizm odłączania, np. adres URL do ustawień konta na Twojej platformie. Możesz też dodać link do konta Google, na którym użytkownicy mogą zarządzać połączonym kontem.

  6. Możliwość zmiany konta użytkownika. Zaproponuj użytkownikom metodę przełączania kont. Jest to szczególnie korzystne, jeśli użytkownicy mają zwykle kilka kont.

    • Jeśli użytkownik musi zamknąć ekran akceptacji, aby przełączyć konta, wyślij do Google błąd, który można naprawić, aby użytkownik mógł zalogować się na wybrane konto za pomocą połączenia OAuth i przepływu niejawnego.
  7. Dodaj logo. Wyświetlanie logo firmy na ekranie zgody. Umieść logo zgodnie z wytycznymi dotyczącymi stylu. Jeśli chcesz wyświetlać logo Google, zapoznaj się z sekcją Loga i znaki towarowe.

Ilustracja przedstawia przykładowy ekran akceptacji z objaśnieniami poszczególnych wymagań i rekomendacji, których należy przestrzegać podczas projektowania ekranu akceptacji użytkownika.
Rysunek 2. Wskazówki dotyczące projektowania ekranu zgody na połączenie kont.

Wdrażanie funkcji App Flip w aplikacjach natywnych

Aby wdrożyć App Flip, musisz zmodyfikować kod autoryzacji użytkownika w aplikacji, aby akceptował precyzyjny link z Google.

Aby umożliwić przełączanie aplikacji w aplikacji na Androida, postępuj zgodnie z instrukcjami podanymi w przewodniku po implementacji na Androida.

Aby umożliwić przełączanie aplikacji na urządzeniu z iOS, postępuj zgodnie z instrukcjami podanymi w przewodniku po implementacji.

Testowanie przejścia do aplikacji

Przełączanie aplikacji można symulować, używając przykładowych i testowych aplikacji, zanim dostępne będą zweryfikowane aplikacje produkcyjne i działający serwer OAuth 2.0.

Podczas przełączania aplikacji aplikacja Google najpierw otwiera Twoją aplikację, która prosi o odpowiedź z kodem autoryzacji z serwera OAuth 2.0. W ostatnim kroku odpowiedź jest przekazywana do aplikacji Google.

Wymagania wstępne

Aby symulować aplikację Google i uaktywnić intencję, która uruchamia Twoją aplikację, pobierz i zainstaluj narzędzie do testowania przełączania aplikacji na AndroidiOS.

Pobierz i zainstaluj przykładową aplikację App Flip na AndroidiOS, aby symulować aplikację i wybrać typ odpowiedzi OAuth 2.0.

Sekwencja testowa

  1. Otwórz narzędzie do testowania przełączania aplikacji.
  2. Naciśnij Try Flip!, aby uruchomić aplikację App Flip Sample.
  3. Wybierz odpowiedź za pomocą przycisków opcji w aplikacji Sample.
  4. Naciśnij Send, aby zwrócić do narzędzia testowego symulowaną odpowiedź OAuth 2.0.
  5. Sprawdź komunikaty z dziennika narzędzia Test Tool, aby znaleźć kod auth_code lub szczegóły błędu.

Testowanie w wersji produkcyjnej

App Flip można testować w środowisku produkcyjnym po zarejestrowaniu i wdrożeniu serwera OAuth 2.0.

Do testów automatycznych zalecamy użycie jednego konta Google i adresu e-mail do konkretnego zadania.

Stan połączenia kont można sprawdzić w sekcji Połączone konta po zalogowaniu się jako właściciel konta Google. Konta można też odłączyć między kolejnymi testami.

Opcjonalnie możesz zaimplementować RISC, aby automatycznie odłączyć urządzenie i powiadomić Google o zmianie.