Dokumen ini menjelaskan cara mengintegrasikan Credential Manager API dengan
aplikasi Android yang menggunakan WebView. Pengelola Kredensial didukung secara native di library
android.webkit.WebView dalam versi 1.12.0 dan yang lebih baru.
Prasyarat
Untuk menggunakan Pengelola Kredensial di WebView, tambahkan dependensi berikut ke skrip build modul aplikasi Anda:
dependencies {
implementation("androidx.credentials:credentials:1.6.0-beta02")
implementation("androidx.credentials:credentials-play-services-auth:1.6.0-beta02")
implementation("androidx.webkit:webkit:1.14.0")
}
Anda juga harus mengaitkan aplikasi dengan situs yang dimiliki aplikasi menggunakan penautan aset digital. Untuk mengetahui informasi selengkapnya, lihat menambahkan penautan aset digital.
Menggunakan library WebKit
Untuk menggunakan library WebKit, periksa dukungan fitur, lalu aktifkan dukungan dengan
memanggil setWebAuthenticationSupport():
class WebViewActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val url = "https://passkeys-codelab.glitch.me/"
AndroidView(
factory = { context ->
WebView(context).apply {
settings.javaScriptEnabled = true
webViewClient = WebViewClientImpl()
}
},
update = { webView ->
run {
webView.loadUrl(url)
if (WebViewFeature.isFeatureSupported(WebViewFeature.WEB_AUTHENTICATION)) {
WebSettingsCompat.setWebAuthenticationSupport(
webView.settings,
WebSettingsCompat.WEB_AUTHENTICATION_SUPPORT_FOR_APP,
)
// Check if getWebauthenticationSupport may have been disabled by the WebView.
Log.e(
"WebViewPasskeyDemo",
"getWebAuthenticationSupport result: " + WebSettingsCompat.getWebAuthenticationSupport(
webView.settings
),
)
} else {
Log.e("WebViewPasskeyDemo", "WebView does not support passkeys.")
}
}
},
)
}
}
}
Integrasi Web
Untuk mempelajari cara membangun integrasi Web, lihat Membuat kunci sandi untuk login tanpa sandi. Anda juga dapat melihat sumber situs demo.
Pengujian dan deployment
Uji seluruh alur secara menyeluruh dalam lingkungan terkendali untuk memverifikasi komunikasi yang tepat antara aplikasi Android, halaman web, dan backend.
Deploy solusi terintegrasi ke produksi, dengan memverifikasi bahwa backend dapat menangani permintaan pendaftaran dan autentikasi yang masuk. Kode backend harus membuat JSON awal untuk proses pendaftaran (membuat) dan autentikasi (mendapatkan). Aplikasi ini juga harus menangani validasi dan verifikasi respons yang diterima dari halaman web.
Pastikan bahwa penerapan sesuai dengan rekomendasi UX.