Opis

Połączenie kont umożliwia właścicielom kont Google szybkie, bezproblemowe i bezpieczne łączenie się z Twoimi usługami. Połączenie kont Google możesz wdrożyć, 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 Google i urządzenia uzyskują dostęp do Twoich usług.

Użytkownicy mogą połączyć lub rozłączyć swoje konta i opcjonalnie utworzyć nowe na swojej platformie za pomocą funkcji łączenia kont Google.

Przypadki użycia

Oto kilka powodów:

  • Udostępniaj dane użytkownika z Twojej platformy aplikacjom i usługom Google.

  • Odtwarzanie materiałów wideo i materiałów filmowych przy użyciu Google TV.

  • Zarządzaj połączonymi urządzeniami Google Smart Home za pomocą aplikacji Google Home i Asystenta Google. „OK Google włącz światło”.

  • Twórz dostosowane do potrzeb funkcje i funkcje Asystenta Google: rozmowy konwersyjne,

  • Gdy połączysz konto Google z kontem partnera, użytkownicy będą mogli zdobywać nagrody, oglądając kwalifikujące się transmisje na żywo w YouTube.

  • Uzupełnij wstępnie nowe konta podczas rejestracji dobrowolnie udostępnionymi danymi z profilu konta Google.

Obsługiwane funkcje

Połączenie kont Google obsługuje te funkcje:

  • Szybko i łatwo udostępniaj swoje dane, korzystając z przekierowania OAuth.

  • Zapewnij większe bezpieczeństwo podczas procesu kodu autoryzacji łączenia linków OAuth.

  • Zaloguj się do swojej platformy lub zarejestruj nowych użytkowników zweryfikowanych przez Google na swojej platformie, uzyskaj ich zgodę i udostępnij dane w ramach uproszczonych linków.

  • Ograniczanie przeszkód dzięki przewracaniu aplikacji. W zaufanej aplikacji Google możesz jednym kliknięciem bezpiecznie otworzyć zweryfikowaną aplikację na Androida lub iOS, a drugie kliknąć i potwierdzić zgodę użytkownika oraz połączyć konta.

  • Aby zwiększyć prywatność użytkowników, zdefiniuj zakresy niestandardowe, aby udostępniać tylko wymagane dane, i zwiększ zaufanie użytkowników, jasno określając sposób wykorzystywania ich danych.

  • Dostęp do danych i usług hostowanych na Twojej platformie możesz anulować, odłączając konta. Wdrożenie opcjonalnego punktu końcowego unieważnienia tokena pozwala zachować synchronizację ze zdarzeniami zainicjowanymi przez Google, a ochrona wszystkich kont RISC pozwala powiadomić Google o wszystkich zdarzeniach odłączania, które mają miejsce na Twojej platformie.

Procesy łączenia kont

Istnieją 3 procesy łączenia kont Google – wszystkie opierają się na protokole OAuth i wymagają zarządzania punktami końcowymi autoryzacji i punktami końcowymi wymiany OAuth 2.0 oraz zarządzania nimi.

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

Łączenie przez OAuth ('Web OAuth')

Jest to podstawowy proces OAuth, który odsyła użytkowników do Twojej witryny w celu utworzenia połączenia. Użytkownik jest przenoszony do Twojej witryny w celu zalogowania się na swoje konto. Po zalogowaniu się użytkownik wyraża zgodę na udostępnianie Google swoich danych w usłudze. Konto Google użytkownika i Twoja usługa zostaną wtedy połączone.

Łączenie przez OAuth obsługuje kod autoryzacji i niejawne przepływy OAuth. Twoja usługa musi hostować punkt końcowy autoryzacji zgodny z OAuth 2.0 dla niejawnego przepływu oraz przy ujawnianiu kodu zarówno autoryzacji, jak i punktu końcowego wymiany tokena.

Rysunek 1. Łączenie konta na telefonie użytkownika z użyciem protokołu OAuth w internecie

Łączenie z aplikacjami na podstawie OAuth ('App Flip')

procesu OAuth, który odsyła użytkowników do Twojej aplikacji na potrzeby połączenia.

Łączenie aplikacji z użyciem protokołu OAuth prowadzi użytkowników, gdy przełączają się między zweryfikowanymi aplikacjami mobilnymi na Androida lub iOS i platformą Google i przeglądają proponowane zmiany dostępu do danych oraz wyrażają zgodę na połączenie kont na Twojej platformie z kontami Google. Aby włączyć App Flip, Twoja usługa musi obsługiwać łączenie przez OAuth lub łączenie za pomocą protokołu OAuth opartego na protokole OAuth za pomocą procesu kodu autoryzacji.

Odwracanie aplikacji jest obsługiwane na Androidzie i iOS.

Jak to działa:

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

  • W przypadku znalezienia aplikacji użytkownik zostaje „odwrócony” w stronę aplikacji. Użytkownik prosi o zgodę na połączenie konta z Google, a potem odwraca stronę Google.
  • Jeśli nie uda się znaleźć aplikacji lub podczas jej przywracania wystąpi błąd, użytkownik zostanie przekierowany w trybie uproszczonym lub internetowym.

Rysunek 2. Łączenie kont na telefonie użytkownika z funkcją App Flip

Uproszczone łączenie oparte na protokole OAuth ('Uproszczone')

Uproszczone łączenie przy użyciu protokołu OAuth w Google: funkcja Logowanie przez Google dodaje funkcję łączenia z protokołem OAuth, co umożliwia użytkownikom dokończenie procesu łączenia bez wychodzenia z platformy Google, a co za tym idzie – mniej problemów i porzuceń. Uproszczone łączenie na podstawie protokołu OAuth ułatwia logowanie dzięki automatycznemu logowaniu, tworzeniu kont i łączeniu kont przez połączenie logowania przez Google z uwierzytelnianiem 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ć potwierdzenia JSON Web Token (JWT) i implementować intencje check, create oraz get.

Jak to działa:

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

  • Jeśli konto użytkownika istnieje w Twojej bazie danych, użytkownik połączy je z Twoim kontem w usłudze.
  • Jeśli użytkownik nie ma konta w bazie danych, może utworzyć nowe konto 3P z potwierdzonymi informacjami Google: adres e-mail, imię i zdjęcie profilowe lub zalogować się i połączyć z innym adresem e-mail (wymaga to zalogowania się do usługi przez Web OAuth).

Rysunek 3. Łączenie kont na telefonie użytkownika dzięki uproszczonemu łączeniu

Której procedury należy użyć?

Zalecamy wdrożenie wszystkich procesów, aby zapewnić użytkownikom najlepsze połączenie. Uproszczone i niezawodne procesy aplikacji ograniczają problemy z łączeniem, ponieważ użytkownicy mogą to zrobić w kilku prostych krokach. Łączenie protokołu Web OAuth jest łatwe i warto zacząć od niego w przypadku innych przepływów pracy.

Praca z tokenami

Łączenie kont Google opiera się na normie branżowej OAuth 2.0.

Po uzyskaniu od właścicieli zgody na połączenie kont i udostępnienie danych wysyłasz do Google tokeny dostępu dla poszczególnych kont Google.

Typy tokenów

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

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

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

  • Token dostępu . Token, który zapewnia okazicielowi dostęp do zasobu. Aby ograniczyć ekspozycję, która może wynikać z utraty tego tokena, ma on ograniczony czas życia, zwykle wygasa po około godzinie.

  • Odśwież token . Długotrwały token, który można wymienić na nowy token dostępu po wygaśnięciu tokenu dostępu. Gdy Twoja usługa integruje się z Google, ten token jest przechowywany i używany wyłącznie przez Google. Google wywołuje punkt końcowy wymiany tokenów w celu wymiany tokenów odświeżania na tokeny dostępu, które z kolei są używane do uzyskiwania dostępu do danych użytkownika.

Obsługa tokenów

Warunki wyścigu w środowiskach klastrowych i wymiany klient-serwer mogą skutkować złożonymi scenariuszami czasowymi i obsługi błędów podczas pracy z tokenami. 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 przy użyciu poprzedniego, niewygasłego tokenu dostępu.
  • Twoja odpowiedź tokena odświeżania jeszcze nie dotarła (lub nigdy nie została odebrana) przez Google. W międzyczasie w żądaniu od Google używany jest poprzednio ważny token odświeżania.

Żądania i odpowiedzi mogą przychodzić w dowolnej kolejności lub wcale, ze względu na usługi asynchroniczne działające w klastrze, zachowanie sieci lub w inny sposób.

Nie można zagwarantować natychmiastowego iw pełni spójnego stanu współdzielenia zarówno w ramach systemów obsługi tokenów, jak i między nimi. Wiele ważnych, niewygasłych tokenów może współistnieć w krótkim czasie w systemach lub między nimi. Aby zminimalizować negatywny wpływ na użytkowników, zalecamy wykonanie następujących czynności:

  • Akceptuj tokeny dostępu, które utraciły ważność, nawet po wystawieniu nowszego tokenu.
  • Skorzystaj z alternatyw, aby Odśwież rotację tokenów .
  • Obsługa wielu jednocześnie ważnych tokenów dostępu i odświeżania. Ze względów bezpieczeństwa należy ograniczyć liczbę tokenów i okres istnienia tokenu.
Obsługa konserwacji i przestojów

Podczas prac konserwacyjnych lub nieplanowanych przestojów Google może nie być w stanie zadzwonić do punktów końcowych autoryzacji lub wymiany tokenów w celu uzyskania dostępu i odświeżenia tokenów.

Twoje punkty końcowe powinny odpowiedzieć kodem błędu 503 i pustą treścią. W takim przypadku Google ponawia nieudane żądania wymiany tokenów przez ograniczony czas. Pod warunkiem, że Google będzie w stanie później uzyskać tokeny odświeżania i dostępu, nieudane żądania nie będą widoczne dla użytkowników.

Niepowodzenie próśb o token dostępu skutkuje widocznym błędem, jeśli zostało zainicjowane przez użytkownika. Użytkownicy będą musieli ponowić próbę niepowodzenia łączenia, jeśli zostanie użyty niejawny przepływ OAuth 2.0.

Zalecenia

Istnieje wiele rozwiązań minimalizujących wpływ konserwacji. Kilka opcji do rozważenia:

  • Utrzymaj istniejącą usługę i kieruj ograniczoną liczbę żądań do nowo zaktualizowanej usługi. Przeprowadź migrację wszystkich żądań dopiero po potwierdzeniu oczekiwanej funkcjonalności.

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

    • Ogranicz okresy konserwacji do mniej niż okres istnienia tokenu dostępu.

    • Tymczasowo zwiększ żywotność tokena dostępu:

      1. Zwiększ okres istnienia tokenu, aby był dłuższy niż okres konserwacji.
      2. Poczekaj dwa razy dłużej niż okres istnienia tokenu dostępu, umożliwiając użytkownikom wymianę tokenów krótkotrwałych na tokeny o dłuższym czasie trwania.
      3. Wejdź do konserwacji.
      4. Odpowiadaj na żądania tokenów za pomocą kodu błędu 503 i pustej treści.
      5. Zakończ konserwację.
      6. Zmniejsz okres istnienia tokenu z powrotem do normalnego.

Rejestracja w Google

Potrzebujemy szczegółowych informacji o konfiguracji OAuth 2.0 oraz danych logowania, aby umożliwić połączenie kont. Więcej informacji znajdziesz w sekcji Rejestracja.