Przegląd

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.

Więcej informacji o procesie kodu autoryzacji łączenia OAuth znajdziesz w artykule Implementowanie serwera OAuth.

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

Konfigurowanie funkcji App Flip opartej na OAuth

W sekcjach poniżej opisujemy wymagania wstępne dotyczące funkcji App Flip opartej na OAuth oraz sposób konfigurowania projektu App Flip w konsoli Actions.

Utwórz działanie i skonfiguruj serwer OAuth 2.0.

Zanim skonfigurujesz App Flip, musisz wykonać te czynności:

Konfigurowanie funkcji App Flip w konsoli Actions

W sekcji poniżej opisujemy, jak skonfigurować przełączanie aplikacji w konsoli Actions.

  1. W menu nawigacyjnym u góry kliknij Rozwijaj. Następnie w menu nawigacyjnym po lewej stronie kliknij Łączenie kont.
  2. Włącz przełącznik obok opcji Łączenie kont.
  3. W sekcji Tworzenie konta wybierz Nie, chcę tylko zezwolić na tworzenie kont na mojej stronie.
  4. Kliknij Dalej.
  5. W sekcji Typ połączenia wybierz z menu OAuth i Kod autoryzacji.
  6. Kliknij Dalej.
  7. Wypełnij wszystkie pola w sekcji Informacje o kliencie OAuth. (Jeśli funkcja App Flip nie jest obsługiwana, jako rozwiązanie zastępcze używana jest zwykła autoryzacja OAuth).
  8. Kliknij Dalej.
  9. W sekcji Używaj aplikacji do łączenia kont (opcjonalnie) zaznacz pole Włącz dla iOS.
  10. Wypełnij pole Uniwersalny link. Więcej informacji o linkach uniwersalnych znajdziesz w artykule Zezwalanie aplikacjom i witrynom na linkowanie do Twoich treści .
  11. Jeśli chcesz opcjonalnie skonfigurować klienta, dodaj zakresy i kliknij Dodaj zakres w sekcji Skonfiguruj klienta (opcjonalnie). Jeśli nie, kliknij Dalej.
  12. W sekcji Instrukcje testowania wpisz test (lub dowolny inny ciąg znaków) jako symbol zastępczy. (Wypełnienie tego pola kontem testowym jest konieczne tylko wtedy, gdy przesyłasz działanie do publikacji).
  13. Kliknij Zapisz.

Teraz możesz przejść do następnej sekcji, aby zaimplementować App Flip w aplikacji na iOS lub Androida.

Wdrażanie funkcji App Flip w aplikacjach natywnych

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

Testowanie przełączania aplikacji na urządzeniu

Po utworzeniu działania i skonfigurowaniu przełączania aplikacji w konsoli i w aplikacji możesz przetestować przełączanie aplikacji na urządzeniu mobilnym. Aby przetestować przełączanie aplikacji, możesz użyć aplikacji Asystent Google.

Aby przetestować przełączanie aplikacji z aplikacji Asystent, wykonaj te czynności:

  1. Otwórz konsolę Actions i wybierz projekt.
  2. W menu nawigacyjnym u góry kliknij Test.
  3. Uruchom proces łączenia konta w aplikacji Asystent:
    1. Otwórz aplikację Asystent Google.
    2. Kliknij Ustawienia.
    3. Na karcie Asystent kliknij Sterowanie domem.
    4. Kliknij Dodaj(+).
    5. Wybierz działanie z listy dostawców. Na liście będzie on poprzedzony ciągiem znaków „[test]”. Gdy wybierzesz z listy [test] Action, powinna otworzyć się Twoja aplikacja.
    6. Sprawdź, czy aplikacja została uruchomiona, i zacznij testować proces autoryzacji.