Skonfiguruj bezproblemowe udostępnianie danych logowania w aplikacjach i witrynach na Androida

Zwiększ wygodę użytkowników, umożliwiając im bezproblemowe udostępnianie danych logowania w aplikacjach i witrynach. Gdy wiele witryn i aplikacji na Androida korzysta z wspólnego backendu do zarządzania kontami, ta funkcja umożliwia użytkownikom zapisanie danych logowania raz i automatyczne ich sugerowanie w dowolnej połączonej witrynie lub aplikacji na Androida.

Sprawdzone metody

Aby zapewnić użytkownikom wygodę i bezpieczeństwo, zaimplementuj bezproblemowe udostępnianie danych logowania w tych punktach styczności z klientem:

  • Formularz logowania: włącz automatyczne wypełnianie danych logowania.
  • Formularz rejestracyjny: bezpiecznie przechowuj nowe dane logowania, aby używać ich na różnych platformach.
  • Formularz zmiany hasła: synchronizuj aktualizacje haseł na wszystkich platformach.
  • Formularz resetowania hasła: zezwalaj na pojedyncze resetowania hasła, aby zaktualizować wszystkie platformy.
  • Domeny Webview: rozszerzanie udostępniania danych logowania na domeny Webview w aplikacji, które obsługują zarządzanie kontem (formularze logowania, rejestracji, zmiany hasła lub resetowania hasła).
  • Aplikacje na Androida

Takie podejście tworzy ujednolicony system zarządzania danymi logowania, który zwiększa wygodę użytkowników i bezpieczeństwo.

Przy projektowaniu witryn służących do zarządzania kontem zalecamy stosowanie się do następujących sprawdzonych metod dotyczących witryn zarządzania kontem:

Podczas projektowania aplikacji na Androida zalecamy zintegrowanie ich z narzędziem Android Credential Manager.

Wymagania wstępne

Zanim skonfigurujesz płynne udostępnianie danych logowania, sprawdź, czy masz te informacje dla każdej platformy:

W przypadku każdej aplikacji na Androida:

W przypadku każdej witryny:

  • Możliwość publikowania pliku /.well-known/assetlinks.json w poszczególnych domenach zgodnie ze składnią protokołu Digital Asset Links (DAL).
  • Wszystkie domeny zarządzania kontem (formularze logowania, rejestracji, zmiany hasła lub resetowania hasła) muszą być dostępne przez HTTPS.

Włącz płynne udostępnianie danych logowania w aplikacjach i witrynach na Androida

Aby skonfigurować płynne udostępnianie danych logowania w aplikacjach i witrynach, utwórz i opublikuj listy oświadczeń Digital Asset Links, które określają, które podmioty (witryny lub aplikacje na Androida) mogą udostępniać dane logowania.

Aby zadeklarować relację dotyczącą udostępniania danych logowania:

  1. Utwórz plik assetlinks.json z instrukcjami prowadzącymi do witryny i aplikacji na Androida, stosując się do składni listy instrukcji DAL:

    [
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"web",
          "site":URL
        }
      },
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"android_app",
          "package_name":"APP_ID",
          "sha256_cert_fingerprints":[
            "SHA_HEX_VALUE"
          ]
        }
      }
    ]
    

    Gdzie URL to URL Twojej witryny, APP_ID to identyfikator aplikacji na Androida, a SHA_HEX_VALUE to odcisk cyfrowy SHA256 certyfikatu podpisywania aplikacji na Androida.

    Pole relation opisuje deklarowaną relację. Aby zadeklarować, że aplikacje i witryny udostępniają dane logowania, określ te relacje za pomocą elementu delegate_permission/common.get_login_creds. Dowiedz się więcej o relacyjnych ciągach znaków w DALach.

    Pole target to obiekt określający zasób, do którego odnosi się deklaracja.

    Te pola identyfikują witrynę:

    namespace

    web

    site

    Adres URL witryny w formacie https://domain[:optional_port, np. https://www.example.com.

    W przypadku korzystania z portu 443 dla HTTPS domain musi być w pełni kwalifikowany, a optional_port musi być pominięty.

    Docelowe site może być tylko domeną główną: nie możesz ograniczyć powiązania aplikacji do konkretnego katalogu podrzędnego. Nie umieszczaj w adresie URL ścieżki, np. ukośnika na końcu.

    Domeny podrzędne nie są uważane za zgodne: jeśli podasz domain jako www.example.com, domena www.counter.example.com nie będzie powiązana z Twoją aplikacją.

    Te pola identyfikują aplikację na Androida:

    przestrzeń nazw

    android_app

    package_name

    Nazwa pakietu zadeklarowana w manifeście aplikacji. Na przykład com.example.android

    sha256_cert_fingerprints

    Odciski cyfrowe SHA-256 certyfikatu podpisywania aplikacji.

  2. Umieść plik JSON protokołu Digital Asset Links w tej lokalizacji w domenie logowania:https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json, gdzie DOMAIN to pełna nazwa domeny, a OPTIONAL_PORT należy pominąć, jeśli używasz portu 443 w przypadku HTTPS.

  3. Zadeklaruj powiązanie w aplikacji na Androida, umieszczając w jej pliku res/values/strings.xml instrukcję z linkiem do listy instrukcji utworzonej w kroku 1. Dodaj obiekt, który określa pliki assetlinks.json do załadowania. Na przykład:

      <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\"
    }]
    </string>
    

    Zastąp DOMAIN i OPTIONAL_PORT (musisz je pominąć, jeśli używasz portu 443 dla HTTPS) – na przykład https://www.example.com. Zastosowanie zmiany znaczenia apostrofów i cudzysłowów w ciągu znaków.

    Możesz też dodać fragment kodu JSON w pliku strings.xml, jak pokazano w dokumentacji DAL, ale użycie instrukcji include pozwala zmienić instrukcje bez publikowania nowej wersji aplikacji.

  4. Odwołaj się do oświadczenia w pliku manifestu, dodając ten wiersz do pliku AndroidManifest.xml aplikacji w sekcji <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. Opublikuj nową wersję aplikacji na Androida w Konsoli Google Play

Po wykonaniu tych czynności udało Ci się skonfigurować bezproblemowe udostępnianie danych logowania między Twoją witryną a aplikacją na Androida.

Pamiętaj, że nie jest to jedyny prawidłowy sposób konfigurowania DAL na potrzeby udostępniania danych logowania, ale to podejście upraszcza późniejsze dodawanie nowych elementów do sieci umożliwiającej płynne udostępnianie danych logowania, promuje możliwość ponownego użycia kodu i zmniejsza ryzyko wystąpienia błędów podczas aktualizacji.