Ce document explique comment intégrer l'API Gestionnaire d'identifiants à une application Android qui utilise WebView. Le Gestionnaire d'identifiants est compatible en mode natif avec la bibliothèque android.webkit.WebView dans la version 1.12.0 et les versions ultérieures.
Prérequis
Pour utiliser Credential Manager dans WebView, ajoutez les dépendances suivantes au script de compilation du module de votre application :
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")
}
Vous devrez également associer votre application à un site Web dont elle est propriétaire à l'aide de Digital Asset Links. Pour en savoir plus, consultez Ajouter l'association d'assets numériques.
Utiliser la bibliothèque WebKit
Pour utiliser la bibliothèque WebKit, vérifiez la compatibilité des fonctionnalités, puis activez la compatibilité en appelant 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.")
}
}
},
)
}
}
}
Intégration Web
Pour découvrir comment créer une intégration Web, consultez Créer une clé d'accès pour les connexions sans mot de passe. Vous pouvez également consulter la source du site de démonstration.
Tests et déploiement
Testez l'ensemble du flux de manière approfondie dans un environnement contrôlé afin de vérifier la bonne communication entre l'application Android, la page Web et le backend.
Déployez la solution intégrée en production, en vérifiant que le backend peut gérer les requêtes d'inscription et d'authentification entrantes. Le code backend doit générer un fichier JSON initial pour les processus d'inscription (create) et d'authentification (get). Il doit également gérer la validation et la vérification des réponses reçues de la page Web.
Vérifiez que l'implémentation correspond aux recommandations relatives à l'expérience utilisateur.