Przegląd

Wybierz ścieżkę integracji

Wybierz ścieżkę, która najlepiej odpowiada Twoim potrzebom:

Ścieżka Urządzenia Więcej informacji
Protokół Universal Commerce Protocol (UCP) Sprzedawcy i detaliści. Dokumentacja UCP
Standardowe łączenie kont Inteligentny dom, telewizor i YouTube. Dokumenty

Łączenie kont umożliwia posiadaczom kont Google szybkie, bezproblemowe i bezpieczne łączenie się z Twoimi usługami. Możesz wdrożyć łączenie z kontem Google, aby udostępniać dane użytkownika z Twojej platformy aplikacjom i usługom Google.

Bezpieczny protokół OAuth 2.0 umożliwia bezpieczne połączenie konta Google użytkownika z jego kontem na Twojej platformie, dzięki czemu aplikacje i urządzenia Google uzyskują dostęp do Twoich usług.

Użytkownicy mogą połączyć lub rozłączyć swoje konta i opcjonalnie utworzyć nowe konto na Twojej platformie za pomocą łączenia z kontem Google.

Przypadki użycia

Oto niektóre z powodów, dla których warto wdrożyć łączenie z kontem Google:

  • udostępniać dane użytkownika z Twojej platformy aplikacjom i usługom Google;

  • Zintegruj się z Zakupami Google i platformami AI (wyszukiwarka, Gemini) za pomocą protokołu Universal Commerce Protocol (UCP).

  • Odtwarzaj filmy i programy telewizyjne za pomocą Google TV.

  • zarządzanie połączonymi urządzeniami Google Smart Home i sterowanie nimi za pomocą aplikacji Google Home i Asystenta Google, np. „OK Google, włącz światła”;

  • Twórz dostosowane do użytkownika funkcje i sposoby działania Asystenta Google za pomocą akcji konwersacyjnych, np. „OK Google, zamów to, co zwykle, w Starbucks”.

  • Umożliwiać użytkownikom zdobywanie nagród za oglądanie kwalifikujących się transmisji na żywo w YouTube po połączeniu konta Google z kontem partnera oferującego nagrody.

  • wstępne wypełnianie nowych kont podczas rejestracji danymi udostępnionymi za zgodą użytkownika z profilu konta Google;

Możliwości i wymagania

Poniższa tabela zawiera informacje o obsłudze i rekomendacjach dotyczących każdego procesu łączenia.

Proces łączenia Funkcje standardowe Funkcje UCP
App Flip Zalecane Zalecane
Uproszczone łączenie Zalecane Zalecane
Łączenie OAuth Wymagane (reklama zastępcza) Wymagane (reklama zastępcza)
OAuth 2.1 Zalecane Zalecane
  • Zwiększanie prywatności użytkowników przez definiowanie zakresów niestandardowych, aby udostępniać tylko niezbędne dane, oraz zwiększanie zaufania użytkowników przez jasne określanie, w jaki sposób ich dane są wykorzystywane.

  • Dostęp do danych i usług hostowanych na Twojej platformie można cofnąć, rozłączając konta. Wdrożenie opcjonalnego punktu końcowego unieważniania tokenów umożliwia synchronizację z wydarzeniami inicjowanymi przez Google, a ochrona międzykontowa (RISC) pozwala powiadamiać Google o wszelkich wydarzeniach odłączania, które mają miejsce na Twojej platformie.

Procesy łączenia kont

Istnieją 3 procesy łączenia z kontem Google, które są oparte na protokole OAuth i wymagają zarządzania punktami końcowymi autoryzacji i wymiany tokenów zgodnymi z OAuth 2.0 lub kontrolowania ich.

Podczas procesu łączenia wydajesz Google tokeny dostępu do poszczególnych kont Google po uzyskaniu zgody właścicieli kont na połączenie kont i udostępnianie danych.

Łączenie OAuth

Jest to proces łączenia OAuth, który przekierowuje użytkowników do Twojej witryny w celu połączenia. Użytkownik zostanie przekierowany na Twoją stronę, aby zalogować się na swoje konto. Po zalogowaniu użytkownik wyraża zgodę na udostępnianie swoich danych w Twojej usłudze firmie Google. W tym momencie konto Google użytkownika i Twoja usługa zostaną połączone.

Łączenie OAuth obsługuje przepływy OAuth z kodem autoryzacji i niejawne. Usługa musi hostować punkt końcowy autoryzacji zgodny z protokołem OAuth 2.0 w przypadku przepływu niejawnego oraz udostępniać punkt końcowy autoryzacji i wymiany tokenów w przypadku przepływu kodu autoryzacji.

Rysunek 1. Łączenie kont na telefonie użytkownika za pomocą protokołu OAuth

Łączenie za pomocą przejścia do aplikacji opartego na OAuth („Przejście do aplikacji”)

Sposób obsługi protokołu OAuth, który kieruje użytkowników do aplikacji w celu połączenia kont.

Łączenie aplikacji oparte na OAuth prowadzi użytkowników podczas przechodzenia między zweryfikowanymi aplikacjami mobilnymi na Androida lub iOS a platformą Google, aby mogli przejrzeć proponowane zmiany w dostępie do danych i wyrazić zgodę na połączenie konta na Twojej platformie z kontem Google. Aby włączyć przejście do aplikacji, usługa musi obsługiwać łączenie za pomocą protokołu OAuth lub łączenie za pomocą Zaloguj się przez Google opartego na protokole OAuth przy użyciu przepływu kodu autoryzacji.

Funkcja App Flip jest obsługiwana na AndroidiOS.

Jak to działa:

Aplikacja Google sprawdza, czy Twoja aplikacja jest zainstalowana na urządzeniu użytkownika:

  • Jeśli aplikacja zostanie znaleziona, użytkownik zostanie „przekierowany” do Twojej aplikacji. Aplikacja uzyskuje zgodę użytkownika na połączenie konta z Google, a następnie „przekierowuje” go z powrotem do usługi Google.
  • Jeśli aplikacja nie zostanie znaleziona lub podczas procesu przejścia do aplikacji wystąpi błąd, użytkownik zostanie przekierowany do uproszczonego procesu łączenia lub procesu łączenia OAuth.

Rysunek 2. Łączenie kont na telefonie użytkownika za pomocą przełączania aplikacji

Uproszczone połączenie oparte na OAuth („Uproszczone”)

Uproszczone łączenie za pomocą Logowania przez Google opartego na OAuth dodaje Logowanie przez Google do łączenia opartego na OAuth, dzięki czemu użytkownicy mogą ukończyć proces łączenia bez opuszczania platformy Google, co zmniejsza trudności i liczbę rezygnacji. Uproszczone łączenie oparte na OAuth zapewnia najlepszą wygodę użytkownika dzięki bezproblemowemu logowaniu, tworzeniu konta i łączeniu kont przez połączenie Zaloguj się przez Google z łączeniem OAuth. Usługa musi obsługiwać punkty końcowe autoryzacji i wymiany tokenów zgodne z protokołem OAuth 2.0. Dodatkowo punkt końcowy wymiany tokenów musi obsługiwać asercje tokena sieciowego JSON (JWT) i wdrażać intencje check, createget.

Jak to działa:

Google potwierdza konto użytkownika i przekazuje Ci te informacje:

  • Jeśli w Twojej bazie danych istnieje konto użytkownika, użytkownik pomyślnie połączy swoje konto Google z kontem w Twojej usłudze.
  • Jeśli w Twojej bazie danych nie ma konta użytkownika, może on utworzyć nowe konto usługi innej firmy, podając informacje przekazane przez Google: adres e-mail, imię i nazwisko oraz zdjęcie profilowe. Może też zalogować się i połączyć z innym adresem e-mail (w tym celu musi zalogować się w Twojej usłudze za pomocą połączenia OAuth).

Rysunek 3. Łączenie kont na telefonie użytkownika za pomocą uproszczonego łączenia

Którego procesu użyjesz?

Aby zapewnić użytkownikom jak najlepsze wrażenia z łączenia kont, zalecamy wdrożenie wszystkich ścieżek. Uproszczone procesy przechodzenia do aplikacji zmniejszają trudności związane z łączeniem, ponieważ użytkownicy mogą ukończyć ten proces w kilku krokach. Proces łączenia OAuth jest najmniej pracochłonny i warto od niego zacząć, a potem dodać inne procesy łączenia.

Praca z tokenami

Łączenie z kontem Google jest oparte na standardzie branżowym OAuth 2.0.

Wydajesz Google tokeny dostępu do poszczególnych kont Google po uzyskaniu zgody właścicieli kont na połączenie kont i udostępnianie danych.

Rodzaje tokenów

OAuth 2.0 używa ciągów znaków zwanych tokenami do komunikacji między agentem użytkownika, aplikacją kliencką a serwerem OAuth 2.0.

Podczas łączenia kont można używać 3 rodzajów tokenów OAuth 2.0:

  • Kod autoryzacji. Krótkotrwały token, który można wymienić na token dostępu i token odświeżania. Ze względów bezpieczeństwa Google wywołuje punkt autoryzacji, aby uzyskać jednorazowy lub bardzo krótki kod.

  • Token dostępu. Token, który przyznaje posiadaczowi dostęp do zasobu. Aby ograniczyć ryzyko związane z utratą tego tokena, ma on ograniczony okres ważności, zwykle wygasa po około godzinie.

  • Token odświeżania Token o długim okresie ważności, który można wymienić na nowy token dostępu, gdy token dostępu wygaśnie. Gdy Twoja usługa jest zintegrowana z Google, ten token jest przechowywany i używany wyłącznie przez Google. Google wywołuje Twój punkt końcowy wymiany tokenów, aby wymieniać tokeny odświeżania na tokeny dostępu, które są z kolei używane do uzyskiwania dostępu do danych użytkownika.

Obsługa tokenów

W środowiskach klastrowych i wymianie danych między klientem a serwerem mogą wystąpić wyścigi, które podczas pracy z tokenami mogą prowadzić do złożonych scenariuszy związanych z czasem i obsługą błędów. Na przykład:

  • Otrzymujesz prośbę o nowy token dostępu i wydajesz nowy token dostępu. Jednocześnie otrzymujesz żądanie dostępu do zasobu usługi za pomocą poprzedniego, niewygasłego tokena dostępu.
  • Google nie otrzymało jeszcze odpowiedzi z tokenem odświeżania (lub nigdy jej nie otrzyma). W międzyczasie wcześniej ważny token odświeżania jest używany w żądaniu wysyłanym przez Google.

Żądania i odpowiedzi mogą docierać w dowolnej kolejności lub wcale ze względu na usługi asynchroniczne działające w klastrze, zachowanie sieci lub inne czynniki.

Nie możemy zagwarantować natychmiastowego i w pełni spójnego stanu współdzielonego w ramach Twoich systemów obsługi tokenów i systemów Google oraz między nimi. W systemach lub między nimi może przez krótki czas współistnieć wiele ważnych, niewygasłych tokenów. Aby zminimalizować negatywny wpływ na użytkowników, zalecamy wykonanie tych czynności:

  • Akceptuj niewygasłe tokeny dostępu, nawet po wydaniu nowszego tokena.
  • Używaj alternatywnych rozwiązań dla rotacji tokenów odświeżania.
  • Obsługa wielu jednocześnie ważnych tokenów dostępu i tokenów odświeżania. Ze względów bezpieczeństwa należy ograniczyć liczbę tokenów i czas ich ważności.
Obsługa konserwacji i awarii

Podczas konserwacji lub nieplanowanych przerw w działaniu usługi Google może nie być w stanie wywołać punktów końcowych autoryzacji lub wymiany tokenów, aby uzyskać tokeny dostępu i tokeny odświeżania.

Punkty końcowe powinny odpowiadać kodem błędu 503 i pustą treścią. W takim przypadku Google przez ograniczony czas ponawia nieudane żądania wymiany tokena. Jeśli Google później uzyska tokeny odświeżania i dostępu, nieudane żądania nie będą widoczne dla użytkowników.

wymaganie ponownego połączenia kont przez użytkowników.

Nieudane żądania tokena dostępu powodują wyświetlenie błędu, jeśli zostały zainicjowane przez użytkownika. Jeśli używany jest niejawny przepływ OAuth 2.0, użytkownicy będą musieli ponowić próbę połączenia w przypadku niepowodzenia.

Rekomendacje

Istnieje wiele rozwiązań, które pozwalają zminimalizować wpływ prac konserwacyjnych. Oto kilka opcji, które warto wziąć pod uwagę:

  • Zachowaj dotychczasową usługę i przekieruj ograniczoną liczbę żądań do nowo zaktualizowanej usługi. Przenieś wszystkie żądania dopiero po potwierdzeniu oczekiwanej funkcjonalności.

  • Zmniejsz liczbę żądań tokenów w okresie konserwacji:

    • Ogranicz okresy konserwacji do czasu krótszego niż okres ważności tokena dostępu.

    • Tymczasowe wydłużenie okresu ważności tokena dostępu:

      1. Wydłuż okres ważności tokena, aby był dłuższy niż okres konserwacji.
      2. Odczekaj dwukrotność czasu życia tokena dostępu, aby umożliwić użytkownikom wymianę krótkotrwałych tokenów na tokeny o dłuższym czasie życia.
      3. Wpisz konserwację.
      4. Odpowiadaj na żądania tokenów za pomocą kodu błędu 503 i pustej treści.
      5. Zakończ konserwację.
      6. Przywróć normalny czas życia tokena.

Trwałe linkowanie

Trwałe połączenie to podstawowe wymaganie w przypadku stabilnych integracji. Dzięki temu konta użytkowników pozostają połączone nawet w przypadku przejściowych awarii sieci lub okresowego odświeżania danych logowania.

Aby wdrożyć trwałe linkowanie, zastosuj metodę „okna przesuwnego”: zamiast obracać dotychczasowy token odświeżania, przedłuż jego ważność (zgodnie z sekcją 6 RFC 6749). Zapobiega to sytuacjom wyścigu i niezamierzonemu odłączaniu, które mogą wystąpić, jeśli zostanie wydany nowy token odświeżania, ale nie zostanie on pomyślnie odebrany ani zapisany przez Google.

Zarejestruj się przez Google

Aby umożliwić połączenie kont, potrzebujemy szczegółów konfiguracji OAuth 2.0 i danych logowania. Szczegółowe informacje znajdziesz w sekcji rejestracja.