Panduan lengkap untuk menguji passkey di aplikasi native iOS/Android dengan 1Password, Bitwarden & lainnya. Mencakup rencana pengujian, masalah umum & strategi siap produksi.
Vincent
Created: October 2, 2025
Updated: October 3, 2025
See the original blog version in English here.
Want to learn how to get +80% Passkey Adoption?
Join our Passkey Intelligence Webinar on October 8.
Dengan rilisnya iOS 17 dan Android 14, lanskap passkey untuk aplikasi mobile native telah berubah secara fundamental. Untuk pertama kalinya, password manager pihak ketiga dapat bertindak sebagai penyedia passkey, mematahkan dominasi eksklusif iCloud Keychain dan Google Password Manager. Hal ini memungkinkan user untuk menggunakan solusi terpercaya mereka sendiri seperti 1Password, Bitwarden, atau Dashlane ke dalam alur autentikasi aplikasi native. Meskipun ini merupakan kemenangan besar bagi pilihan pengguna, hal ini menimbulkan kompleksitas yang signifikan bagi developer. Implementasi passkey Anda bisa berperilaku berbeda di antara password manager yang berbeda pada aplikasi mobile native. Jadi, penting bagi setiap tim untuk menguji passkey aplikasi native dan password manager pihak ketiga dengan benar.
Panduan komprehensif ini membagikan pendekatan kami yang telah teruji dalam pengujian passkey untuk aplikasi native dengan password manager pihak ketiga. Meskipun ekosistem passkey telah berkembang pesat pada tahun 2025, implementasi di dunia nyata masih memerlukan validasi yang cermat di berbagai implementasi password manager. Kami telah merangkum pengalaman kami menjadi sebuah rencana pengujian praktis yang memastikan aplikasi native Anda berfungsi dengan lancar di semua password manager pilihan pengguna.
Want to learn how to get +80% Passkey Adoption?
Join our Passkey Intelligence Webinar on October 8.
Ekosistem password manager telah berevolusi melampaui solusi bawaan platform. Pengguna secara aktif memilih password manager pihak ketiga seperti 1Password, Bitwarden, Dashlane, Proton Pass, dan NordPass berdasarkan kebutuhan spesifik mereka, seperti sinkronisasi lintas platform, fitur enterprise, atau preferensi privasi. Aplikasi native iOS / Android Anda harus mengakomodasi keragaman ini tanpa memaksa pengguna untuk beralih dari solusi manajemen password yang mereka percaya.
Berdasarkan data yang kami ukur di seluruh halaman Corbado, kami melihat bahwa hanya 5-10% pengguna umum yang mengandalkan password manager pihak ketiga. Meskipun angka ini mungkin terdengar rendah, ini akan berdampak besar pada persepsi implementasi passkey Anda dan jumlah tiket dukungan jika Anda bekerja di lingkungan skala besar. Kami melihat beberapa password manager mengimplementasikan spesifikasi WebAuthn dengan sedikit berbeda, yang menyebabkan variasi kecil dalam pengalaman pengguna atau bahkan bug.
Aplikasi native iOS dan Android menyediakan cara yang berbeda untuk penggunaan passkey. Di Android, kita akan menemukan overlay passkey dan input kolom teks manual yang memicu proses passkey (untuk aplikasi web, Android juga mendukung Conditional UI). iOS menyajikan set overlay passkey-nya sendiri di samping Conditional UI dan juga input kolom teks manual. Selain itu, ada kasus-kasus khusus lain yang perlu diperiksa. Secara keseluruhan, aplikasi native Anda harus menangani dengan baik:
Konfigurasi flag yang benar menentukan apakah passkey berfungsi seperti yang diharapkan di seluruh perangkat dan platform. Nilai-nilai penting meliputi:
Flag yang salah dikonfigurasi tidak selalu menyebabkan kegagalan langsung. Namun, hal itu dapat menciptakan masalah halus dan inkonsistensi seperti passkey tersedia di satu perangkat tetapi tidak tersinkronisasi di perangkat lain (meskipun password manager pihak ketiga yang sama mungkin tersedia di kedua perangkat). Salah satu temuan kami dalam pengujian adalah beberapa password manager pihak ketiga mengatur flag BE/BS secara tidak benar dan menjadi penyebab sebagian besar masalah passkey.
Arsitektur single-activity (Android) dan single-scene (iOS) memerlukan manajemen lifecycle
yang cermat. Saat lembar password manager muncul dan ditutup, aplikasi Anda harus
mempertahankan state, menangani callback, dan melanjutkan dengan benar. Ini sangat penting
di Android, di mana konfigurasi launchMode
dapat menyebabkan perilaku yang tidak
terduga.
Sebagai contoh, kami menemukan bahwa mengatur MainActivity
ke
launchMode="singleInstance"
menimbulkan masalah. Pada beberapa versi Android dan
kustomisasi OEM, mode ini menyebabkan UI Passkey Credential Manager terbuka sebagai task
terpisah. Ini tidak hanya menambahkan entri aplikasi tambahan yang membingungkan ke layar
"Recents", tetapi juga dapat menyebabkan aplikasi hang jika dialihkan ke background saat
dialog passkey terbuka.
Perbaikan yang disarankan adalah mengubah konfigurasi menjadi launchMode="singleTask"
.
Ini mencegah Credential Manager membuat task terpisah, memastikan lifecycle yang lebih
dapat diprediksi di berbagai OEM (Samsung, Google, Vivo, dll.) dan mengurangi risiko bug
spesifik vendor. Ini memberikan fondasi yang lebih stabil untuk menguji navigasi, overlay,
dan deeplink.
Kami mengamati bahwa masalah lifecycle seperti ini sering kali disamarkan sebagai "bug password manager" padahal sebenarnya adalah masalah di tingkat aplikasi. Instrumentasi dan pengujian yang tepat di berbagai penyedia membantu mengidentifikasi pola-pola ini sejak dini.
Fokuskan pengujian passkey aplikasi native Anda pada password manager pihak ketiga yang paling banyak diadopsi:
Target utama (cakupan esensial):
Target sekunder (berdasarkan basis pengguna Anda):
Hindari godaan untuk menguji setiap password manager yang tersedia. Fokus pada penyedia yang mewakili 90% dari basis pengguna Anda. Analitik kami menunjukkan bahwa kelima target utama mencakup 85% pengguna password manager pihak ketiga di EU/USA/UK/AUS/NZ.
Sebelum memulai setiap sesi pengujian, pastikan lingkungan yang bersih dan dapat direproduksi:
1. Bersihkan status kredensial:
2. Stabilkan lingkungan pengujian:
Setiap pengujian memvalidasi aspek spesifik dari fungsionalitas passkey. Dokumentasikan hasil secara sistematis menggunakan status lulus/gagal dan catatan rinci untuk setiap anomali.
Validasi penanganan pembatalan yang baik
✓ Lembar password manager terbuka dengan benar ✓ Pengguna membatalkan tanpa membuat passkey ✓ Aplikasi kembali ke layar login ✓ Tidak ada kredensial yang tertinggal di password manager ✓ UI menampilkan opsi coba lagi yang sesuai
Verifikasi pembuatan passkey setelah alur autentikasi
✓ Autentikasi lokal berjalan dengan andal ✓ Autentikasi biometrik selesai dengan sukses ✓ Kredensial dibuat dengan RP ID yang benar ✓ Aplikasi beralih ke status terautentikasi tanpa loop
Uji skenario autentikasi standar
✓ UI Overlay Passkey muncul atau pengguna memberikan username dalam skenario kolom teks ✓ Pemindaian biometrik dan satu prompt biometrik mengarah pada autentikasi yang sukses ✓ Tidak ada loop pemilihan atau kemunculan kembali lembar ✓ Sesi tetap stabil setelah autentikasi
Validasi manajemen passkey dalam aplikasi
✓ RP ID, discoverability, dan flag BE/BS yang benar ✓ Aplikasi tetap terautentikasi setelah pembuatan ✓ Password manager langsung diperbarui dengan label yang benar
Uji manajemen lifecycle kredensial
✓ Hapus passkey di pengaturan ✓ Login dengan passkey tidak memungkinkan ✓ Opsi fallback yang sesuai ditawarkan
Validasi portabilitas aplikasi-ke-web
✓ Browser mengenali passkey yang dibuat aplikasi ✓ Lembar pemilihan menunjukkan asosiasi RP yang benar ✓ Autentikasi selesai tanpa perlu QR/CDA
Uji berbagi kredensial web-ke-aplikasi
✓ Aplikasi memunculkan kredensial buatan web dalam pilihan ✓ Autentikasi pada percobaan pertama berhasil ✓ Tidak ada fallback paksa ke password
Verifikasi sinkronisasi passkey dari aplikasi native ke browser desktop
✓ Passkey buatan aplikasi tersinkronisasi ke password manager desktop ✓ Passkey yang disinkronkan berfungsi lancar di browser desktop ✓ Tidak ada alur kode QR / lintas perangkat yang terpicu ✓ Autentikasi selesai tanpa loop atau error
Verifikasi sinkronisasi passkey dari browser desktop ke aplikasi native
✓ Passkey buatan desktop tersinkronisasi ke password manager mobile ✓ Aplikasi native memunculkan passkey yang disinkronkan dengan benar ✓ Autentikasi berhasil tanpa fallback ke password ✓ Log mengaitkan assertion dengan credential ID yang benar
Validasi skenario ponsel-sebagai-kunci-keamanan
✓ Ponsel menawarkan kredensial buatan aplikasi untuk CDA web ✓ Tidak ada error palsu "tidak ada passkey yang tersedia" ✓ Sesi web selesai setelah biometrik mobile
Pengujian ekstensif kami mengungkap beberapa pola berulang yang memengaruhi integrasi passkey password manager pihak ketiga:
Masalah: Kredensial yang dibuat di satu perangkat mungkin tidak langsung muncul di perangkat lain.
Solusi: Terapkan logika coba lagi dengan exponential backoff. Sediakan opsi refresh manual bagi pengguna yang mengalami keterlambatan sinkronisasi.
Masalah: Perilaku password manager sangat bervariasi antar versi OS, terutama pada Android 14+ dan iOS 17+.
Solusi: Pertahankan matriks kompatibilitas dan sesuaikan alur berdasarkan versi OS yang terdeteksi. Pertimbangkan persyaratan versi minimum untuk pengalaman yang optimal.
Berhasil mengimplementasikan dukungan passkey dari password manager pihak ketiga di aplikasi native memerlukan pengujian metodis dan perhatian terhadap detail. Rencana pengujian kami yang komprehensif, disempurnakan melalui pengujian dunia nyata, memberikan fondasi yang kokoh untuk memvalidasi integrasi passkey Anda.
Poin-poin penting untuk deployment produksi:
Ekosistem passkey terus berkembang pesat. Password manager secara teratur memperbarui implementasi mereka, sistem operasi memperkenalkan fitur-fitur baru, dan spesifikasi WebAuthn sendiri terus maju. Dengan membangun kerangka kerja pengujian yang kuat sekarang, Anda akan siap beradaptasi seiring matangnya teknologi.
Kami akan terus memperbarui SDK dan metodologi pengujian kami seiring munculnya pola-pola baru. Investasi dalam pengujian komprehensif password manager pihak ketiga akan membuahkan hasil berupa berkurangnya beban dukungan dan meningkatnya kepuasan pengguna. Pada akhirnya, autentikasi seharusnya berfungsi begitu saja - terlepas dari password manager mana yang dipilih pengguna Anda.
Related Articles
Table of Contents