Opis

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

Użytkownicy mogą łączyć i rozłączać konta oraz opcjonalnie tworzyć nowe na swojej platformie dzięki połączeniu kont Google.

Przypadki użycia

Oto kilka powodów wdrożenia konta Google:

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

  • odtwarzać treści z Google TV,

  • Zarządzaj inteligentnymi urządzeniami Google Home i zarządzaj nimi za pomocą aplikacji Google Home i Asystenta Google. „OK Google włącz światło”.

  • Utwórz za pomocą działań konwersacyjnych dostosowane do potrzeb Asystenta Google funkcje i funkcje, np. „OK Google, zamów moje zamówienie ze Starbucksa”.

  • Pozwól użytkownikom zdobywać nagrody, oglądając odpowiednie transmisje na żywo w YouTube po połączeniu konta Google z kontem partnera nagrody.

  • Wstępne wypełnianie nowych kont podczas rejestracji dobrowolnymi danymi pochodzącymi z profilu konta Google.

Obsługiwane funkcje

Poniższe funkcje są obsługiwane przez łączenie kont Google:

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

  • Zwiększ bezpieczeństwo dzięki procesowi kodu autoryzacji połączenia przez OAuth.

  • Możesz logować się na swoją platformę obecnych użytkowników lub rejestrować nowych użytkowników zweryfikowanych przez Google, aby uzyskać ich zgodę i bezpiecznie udostępniać dane za pomocą uproszczonych linków.

  • Łatwiejsza obsługa dzięki przewracaniu aplikacji. W zaufanej aplikacji Google można jednym kliknięciem bezpiecznie otworzyć zweryfikowaną aplikację na Androida lub iOS, a jednym kliknięciem udzielić zgody użytkownika i połączyć konta.

  • Zwiększ prywatność użytkowników, określając zakresy niestandardowe, aby udostępniać tylko niezbędne dane, i aby zwiększyć zaufanie użytkowników, określając sposób wykorzystania ich danych.

  • Dostęp do danych i usług hostowanych na Twojej platformie możesz cofnąć przez odłączenie kont. Wdrożenie opcjonalnego punktu końcowego unieważniania tokena umożliwia synchronizację ze zdarzeniami rozpoczętymi przez Google, a ochrona między różnymi kontami (RISC) umożliwia powiadamianie Google o odłączonych zdarzeniach występujących na Twojej platformie.

Procesy łączenia kont

Dostępne są 3 procesy łączenia kont Google, które korzystają z uwierzytelniania OAuth 2.0 i wymagają zarządzania oraz kontrolowania punktów końcowych wymiany autoryzacji OAuth 2.0.

W trakcie łączenia

Łączenie OAuth ('Web OAuth')

Jest to podstawowy proces OAuth, który odsyła użytkowników do Twojej witryny w celu jej połączenia. Użytkownik zostanie przekierowany na Twoją stronę, aby zalogować się na swoje konto. Gdy się zalogujesz, użytkownik wyraża zgodę na udostępnianie Google Twoich danych w Twojej usłudze. W tym momencie konto Google użytkownika i usługa są połączone.

Łączenie OAuth obsługuje kod autoryzacji i pośrednie przepływy OAuth. Twoja usługa musi obsługiwać punkt końcowy autoryzacji zgodny z OAuth 2.0 dla procesu domyślnego i musi udostępniać zarówno punkt końcowy autoryzacji, jak i punkt końcowy wymiany podczas korzystania z kodu autoryzacji.

Rysunek 1. Łączenie kont na telefonie użytkownika z OAuth

Łączenie aplikacji z użyciem protokołu OAuth (' App Flip')

Protokół OAuth, który kieruje użytkowników do aplikacji umożliwiającej połączenie.

Łączenie aplikacji na podstawie protokołu OAuth prowadzi użytkowników, gdy przełączają się między zweryfikowanymi aplikacjami mobilnymi na Androida lub iOS i platformą Google, aby sprawdzić proponowane zmiany dostępu do danych i wyrazić zgodę na połączenie kont na Twojej platformie z kontami Google. Aby włączyć tę funkcję, musisz za pomocą kodu autoryzacji włączyć łączenie przez OAuth lub logowanie przez Google oparte na protokole OAuth.

Funkcja App Flip jest obsługiwana zarówno na Androidzie, jak i iOS.

Jak to działa:

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

  • W przypadku znalezienia aplikacji użytkownik jest „odwrócony” do aplikacji. Aplikacja zbiera zgodę użytkownika na połączenie konta z Google, a potem odwraca stronę Google.
  • Jeśli w trakcie procesu przywracania aplikacji nie uda się znaleźć aplikacji lub wystąpi błąd, użytkownik zostanie przekierowany do uproszczonego lub internetowego protokołu OAuth.

Rysunek 2. Łączenie kont na telefonie użytkownika dzięki App Flip

Uproszczone połączenia oparte na OAuth ('ujednolicone')

Uproszczone łączenie za pomocą protokołu OAuth z użyciem protokołu OAuth oprócz połączenia przez protokół OAuth dodaje też funkcję logowania przez Google. Umożliwia to użytkownikom dokończenie procesu łączenia bez opuszczania platformy Google, a tym samym zmniejsza ryzyko innych problemów i porzucenia. Uproszczone łączenie za pomocą protokołu OAuth zapewnia wygodę użytkowników dzięki łatwemu logowaniu, tworzeniu kont i łączeniu kont przez połączenie funkcji Logowanie przez Google z połączeniem OAuth. Twoja usługa musi obsługiwać punkty końcowe autoryzacji i tokena wymiany tokenów OAuth 2.0. Dodatkowo punkt końcowy wymiany tokenów musi obsługiwać potwierdzenia tokenu internetowego JSON (JWT) oraz implementować intencje check, create i get.

Jak to działa:

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

  • Jeśli konto użytkownika znajduje się w Twojej bazie danych, użytkownik połączy je z Twoim kontem w Twojej usłudze.
  • Jeśli użytkownik nie ma konta w bazie danych, może utworzyć nowe konto innej firmy z przesłanymi przez Google informacjami : adres e-mail, nazwę i zdjęcie profilowe lub zalogować się i połączyć z innym adresem e-mail (wymaga to zalogowania się w usłudze przez protokół OAuth).

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

Który proces należy wybrać?

Zalecamy zaimplementowanie go we wszystkich procesach, aby zapewnić użytkownikom jak najlepsze połączenie. Uproszczone i jednolite procesy upraszczają tworzenie linków, ponieważ użytkownicy mogą dokończyć proces łączenia w zaledwie kilku krokach. Łączenie z uwierzytelnianiem przez OAuth jest bardzo łatwe i jest dobrym punktem wyjścia po dodaniu innych procesów łączenia.

Praca z tokenami

Łączenie kont Google działa zgodnie ze standardem branżowym OAuth 2.0.

Po uzyskaniu zgody właścicieli kont na połączenie ich kont i udostępnianie danych możesz wysyłać do Google tokeny dostępu do 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

Aby umożliwić połączenie kont, będziemy potrzebować szczegółów konfiguracji OAuth 2.0 oraz danych logowania. Szczegółowe informacje znajdziesz w sekcji Rejestracja.