Aller au contenu

Configuration Android

GitHub

Sur Android, les passkeys fonctionnent avec votre site web lorsque l'application et le domaine de la relying-party sont connectés via Digital Asset Links.

Après avoir ajouté la config du plugin et lancé bunx cap sync, le plugin patche le projet Android host généré :

  • injecte le asset_statements métadonnées du manifeste
  • écrit la ressource string générée référencée par ces métadonnées

Vous devez publier assetlinks.json sur le domaine de la relying-party :

https://signin.example.com/.well-known/assetlinks.json

Exemple :

[
{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "app.capgo.passkey.example",
"sha256_cert_fingerprints": [
"AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99"
]
}
}
]
  1. Définissez origin et domains dans plugins.CapacitorPasskey dans capacitor.config.*.
  2. Exécutez bunx cap sync.
  3. Utilisez votre véritable nom de package Android dans assetlinks.json.
  4. Ajoutez chaque empreinte de certificat de signature nécessaire, y compris les clés de signature de debug ou internes si vous testez ces builds.
  5. Hébergez le fichier sur le même domaine que celui utilisé comme ID de la partie de confiance.

Différence de comportement importante par rapport à un navigateur

Section intitulée « Différence de comportement importante par rapport à un navigateur »

Avec Digital Asset Links configuré, Android peut utiliser la même partie de confiance et les mêmes passkeys que votre site web. La différence restante est l'origine littérale rapportée en natif clientDataJSON.

  • Une application Android classique ne se comporte pas comme un navigateur privilégié.
  • L'origine de l'assertion peut être liée à la signature de l'application Android plutôt qu'à l'origine de votre site web.
  • Si votre backend valide strictement clientDataJSON.origin, acceptez l'origine de l'application Android en plus de l'origine du site web.

Si vous utilisez Configuration Android pour planifier les flux d'authentification et de compte, le connecter à Utilisation de @capgo/capacitor-passkey pour la fonctionnalité native dans Utilisation de @capgo/capacitor-passkey, @capgo/capacitor-social-login pour les détails d'implémentation dans @capgo/capacitor-social-login @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation de l'authentification à deux facteurs.