Untuk memberikan pengalaman kunci sandi yang andal, sebaiknya aplikasi Anda menerapkan hal berikut:
- Pengelolaan kunci sandi pengguna: Sertakan bagian pengelolaan kunci sandi khusus dalam setelan aplikasi Anda untuk memungkinkan pengguna mengelola kunci sandi mereka.
- Integrasi penyedia kredensial: Untuk berkomunikasi dengan penyedia kredensial, server aplikasi dapat menerapkan endpoint kunci sandi untuk pendaftaran, autentikasi, dan penghapusan.
Pengelolaan kunci sandi pengguna
Untuk mengizinkan pengguna mengelola kunci sandi mereka, sertakan bagian pengelolaan kunci sandi khusus di aplikasi Anda agar pengguna dapat membuat, melihat, mengganti nama, dan menghapus kunci sandi mereka.
Menampilkan kunci sandi yang tersedia
Dalam setelan aplikasi Anda untuk kunci sandi, berikan informasi kepada pengguna Anda, termasuk penyedia kredensial yang digunakan untuk membuat kredensial, tanggal pembuatan, dan tanggal terakhir digunakan.
Untuk mendapatkan informasi penyedia kredensial, gunakan ID Unik Global Pengesahan Authenticator (AAGUID) yang terkait dengan kunci sandi yang sesuai.
AAGUID adalah bagian dari PublicKeyCredential yang ditampilkan saat Anda
membuat kunci sandi. AAGUID memungkinkan Anda mengidentifikasi penyedia kredensial yang membuat kunci sandi. Untuk mempelajari lebih lanjut, lihat Menentukan penyedia kunci sandi dengan
AAGUID.
Aplikasi Anda dapat menampilkan detail berikut tentang kunci sandi:
- Nama kunci sandi: Menampilkan nama yang diberikan saat kunci sandi didaftarkan. Nama
yang ideal didasarkan pada penyedia kredensial (menggunakan AAGUID); jika
penyedia tidak dapat diidentifikasi, gunakan informasi model perangkat dari
android.os.Build. - Logo penyedia: Menampilkan logo penyedia kredensial. Isyarat visual ini membantu pengguna mengidentifikasi dengan cepat kunci sandi yang benar yang ingin mereka kelola.
- Stempel waktu: Berikan stempel waktu pembuatan dan stempel waktu terakhir digunakan. Informasi ini membantu pengguna mengelola kredensial mereka dan mengidentifikasi kunci sandi lama atau yang tidak digunakan.
- Indikator status sinkronisasi: Secara default, kunci sandi disinkronkan dengan penyedia kredensial, tetapi kemampuan sinkronisasi dapat bervariasi. Untuk mencegah kebingungan pengguna, tunjukkan dengan jelas apakah kunci sandi tidak mendukung sinkronisasi.
- Detail login terakhir (opsional): Berikan detail seperti browser, OS, atau alamat IP atau lokasi login terakhir. Fitur ini adalah fitur opsional yang berharga bagi pengguna untuk mengidentifikasi potensi aktivitas mencurigakan.
Selain detail ini, layar harus memiliki tombol yang memungkinkan pengguna mengelola–menghapus atau mengganti nama–setiap kunci sandi.
Membuat beberapa kunci sandi
Meskipun Anda harus memberi pengguna kesempatan untuk membuat kunci sandi di sepanjang perjalanan pengguna, seperti tepat setelah login, bagian setelan kunci sandi aplikasi Anda harus memungkinkan pengguna membuat kunci sandi, dari penyedia kredensial pilihan mereka.
Untuk mengurangi risiko penguncian akun, izinkan pengguna mendaftarkan beberapa kunci sandi dengan penyedia kredensial yang berbeda. Jika salah satu penyedia kredensial menjadi tidak dapat diakses—misalnya, jika platform menghentikan dukungan atau pengguna kehilangan akses—pengguna dapat menggunakan kunci sandi lain untuk login. Pastikan database Anda mendukung penyimpanan beberapa kredensial ini per pengguna. Namun, Anda dapat mencegah pengguna membuat kunci sandi untuk akun yang sama dengan penyedia kredensial yang sama.
Menghapus kunci sandi
Bagian setelan kunci sandi aplikasi Anda harus memungkinkan pengguna menghapus kunci sandi.
Integrasi penyedia kredensial
Untuk menjaga konsistensi kunci sandi antara server aplikasi dan penyedia kredensial, aktifkan pengelolaan kunci sandi dari jalur yang telah ditentukan /.well-known/passkey-endpoints di server aplikasi Anda. Hal ini memungkinkan penyedia kredensial menggunakan titik akhir ini secara langsung untuk pengelolaan kunci sandi. Untuk mempelajari lebih lanjut,
lihat Menambahkan endpoint kunci sandi.
Referensi lainnya
- Panduan UX Kunci Sandi
- Video: Cara mengurangi ketergantungan pada sandi di aplikasi Android dengan dukungan kunci sandi
- Codelab: Pelajari cara menyederhanakan perjalanan autentikasi menggunakan Credential Manager API di aplikasi Android
- Aplikasi contoh: CredentialManager