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:
- Projektowanie formularza rejestracji zgodnie ze sprawdzonymi metodami
- Zaprojektuj formularz logowania zgodnie ze sprawdzonymi metodami
- Dodawanie znanego adresu URL do zmiany hasła
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:
- Identyfikator aplikacji na Androida, jak podano w pliku
build.gradle
aplikacji. - Odciski cyfrowe SHA256 certyfikatu podpisywania.
- (zalecane) Logowanie użytkownika za pomocą interfejsu Credential Manager API.
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:
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, aSHA_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ą elementudelegate_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, aoptional_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.
Umieść plik JSON protokołu Digital Asset Links w tej lokalizacji w domenie logowania:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, gdzieDOMAIN
to pełna nazwa domeny, aOPTIONAL_PORT
należy pominąć, jeśli używasz portu 443 w przypadku HTTPS.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 plikiassetlinks.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
iOPTIONAL_PORT
(musisz je pominąć, jeśli używasz portu 443 dla HTTPS) – na przykładhttps://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 instrukcjiinclude
pozwala zmienić instrukcje bez publikowania nowej wersji aplikacji.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"/>
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.