Memaksimalkan kenyamanan pengguna dengan mengaktifkan berbagi kredensial yang lancar lintas platform di seluruh aplikasi dan situs Anda. Saat beberapa situs web dan aplikasi Android berbagi backend pengelolaan akun, fitur ini memungkinkan pengguna menyimpan kredensial sekali dan menyarankannya secara otomatis di situs atau aplikasi Android yang ditautkan.
Praktik terbaik
Untuk mengoptimalkan pengalaman pengguna dan keamanan, terapkan berbagi kredensial yang lancar di seluruh poin kontak ini:
- Formulir login: Mengaktifkan pengisian kredensial otomatis.
- Formulir pendaftaran: Simpan kredensial baru dengan aman untuk digunakan di berbagai platform.
- Formulir perubahan sandi: Menyinkronkan pembaruan sandi di semua platform.
- Formulir reset sandi: Izinkan satu reset sandi untuk memperbarui semua platform.
- Domain WebView: Memperluas berbagi kredensial ke domain webview dalam aplikasi Anda yang menangani pengelolaan akun (login host, pendaftaran, sandi formulir ubah, atau reset sandi).
- Aplikasi Android
Pendekatan ini menciptakan sistem pengelolaan kredensial terpadu, yang meningkatkan kenyamanan dan keamanan pengguna.
Ketika merancang situs web pengelolaan akun, sebaiknya Anda mengikuti praktik terbaik untuk situs pengelolaan akun:
- Rancang formulir pendaftaran Anda sesuai dengan praktik terbaik
- Mendesain formulir login sesuai dengan praktik terbaik
- Menambahkan URL yang dikenal untuk mengubah sandi
Saat mendesain aplikasi Android, sebaiknya Anda mengintegrasikan aplikasi dengan Pengelola Kredensial Android.
Prasyarat
Sebelum menyiapkan berbagi kredensial tanpa hambatan, pastikan Anda memiliki hal berikut untuk setiap platform:
Untuk setiap aplikasi Android:
- ID aplikasi Android, seperti yang dideklarasikan dalam file
build.gradle
aplikasi. - Sidik jari SHA256 dari sertifikat penandatanganan.
- (Direkomendasikan) Login pengguna yang diterapkan dengan Credential Manager API.
Untuk setiap situs:
- Kemampuan untuk memublikasikan file
/.well-known/assetlinks.json
di setiap file domain, dengan mengikuti sintaksis Digital Asset Links (DALs). - Semua domain pengelolaan akun (login, pendaftaran, perubahan sandi, atau sandi formulir reset) harus dapat diakses melalui HTTPS.
Mengaktifkan berbagi kredensial yang lancar di seluruh aplikasi dan situs Android
Untuk mengonfigurasi berbagi kredensial yang lancar di seluruh aplikasi dan situs, Anda harus membuat dan memublikasikan daftar pernyataan Digital Asset Links yang menyatakan entitas (situs atau aplikasi Android) diizinkan untuk berbagi kredensial.
Untuk mendeklarasikan hubungan berbagi kredensial:
Buat file
assetlinks.json
dengan pernyataan yang tertaut ke situs dan ke aplikasi Android, dengan mengikuti sintaksis daftar pernyataan DALs:[ { "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" ] } } ]
Dengan
URL
adalah URL situs Anda,APP_ID
adalah ID aplikasi Android Anda, danSHA_HEX_VALUE
adalah sidik jari SHA256 dari sertifikat penandatanganan aplikasi Android Anda.Kolom
relation
menjelaskan hubungan yang dideklarasikan. Untuk mendeklarasikan bahwa aplikasi dan situs berbagi kredensial login, menentukan hubungan sebagaidelegate_permission/common.get_login_creds
. Pelajari selengkapnya tentang String Relasi dalam DAL.Kolom
target
adalah objek yang menentukan aset tempat deklarasi berlaku.Kolom berikut mengidentifikasi situs:
namespace
web
site
URL situs, dalam format
https://domain[:optional_port
]; misalnya, https://www.example.com.domain
harus sepenuhnya memenuhi syarat, danoptional_port
harus dihilangkan saat menggunakan port 443 untuk HTTPS.Target
site
hanya dapat berupa domain root: Anda tidak dapat membatasi pengaitan aplikasi ke subdirektori tertentu. Jangan sertakan jalur dalam URL, seperti garis miring.Subdomain tidak dianggap cocok: yaitu, jika Anda menentukan
domain
sebagai www.example.com, domain www.counter.example.com tidak akan dikaitkan dengan aplikasi Anda.Kolom berikut mengidentifikasi aplikasi Android:
namespace
android_app
package_name
Nama paket yang dideklarasikan dalam manifes aplikasi. Misalnya, com.example.android
sha256_cert_fingerprints
Sidik jari SHA256 dari sertifikat penandatanganan aplikasi Anda.
Menghosting file JSON Digital Asset Links di lokasi berikut pada domain login:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, jikaDOMAIN
sepenuhnya memenuhi syarat, danOPTIONAL_PORT
harus dihilangkan saat menggunakan port 443 untuk dengan HTTPS.Mendeklarasikan pengaitan di aplikasi Android dengan menyematkan pernyataan di File
res/values/strings.xml
aplikasi Android yang menautkan ke daftar pernyataan yang Anda yang dibuat pada Langkah 1. Tambahkan objek yang menentukan fileassetlinks.json
ke memuat halaman. Contoh:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Ganti
DOMAIN
danOPTIONAL_PORT
(harus dihilangkan saat menggunakan port 443 untuk HTTPS)—misalnya,https://www.example.com
. Escape tanda apostrof dan tanda kutip yang Anda gunakan dalam {i>string<i}.Anda juga dapat menambahkan cuplikan JSON di file
strings.xml
seperti yang ditunjukkan di dokumentasi DALs, tetapi menggunakan pernyataaninclude
akan memungkinkan Anda pernyataan perubahan tanpa memublikasikan versi baru aplikasi Anda.Referensikan pernyataan dalam manifes dengan menambahkan baris berikut ke file
AndroidManifest.xml
aplikasi di bawah<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Memublikasikan versi baru aplikasi Android Anda ke Developer Google Play Konsol
Setelah mengikuti langkah-langkah ini, Anda berhasil menyiapkan kredensial yang lancar berbagi antara situs dan aplikasi Android Anda.
Perhatikan bahwa ini bukan satu-satunya cara yang valid untuk menyiapkan DAL untuk berbagi kredensial, tetapi pendekatan ini menyederhanakan proses di masa mendatang dalam menambahkan entitas baru ke jaringan berbagi kredensial yang lancar, mendukung penggunaan kembali kode, dan mengurangi potensi kesalahan selama proses pembaruan.