Passer à la navigation

Configuration Android

Sur Android, les mots de passe passés fonctionnent avec votre site web lorsque l'application et le domaine de la partie dépendante sont connectés par les liens d'actifs numériques.

Après avoir ajouté la configuration du plugin et avoir exécuté bunx cap syncle plugin met à jour le projet d'hôte généré Android :

  • injecte les asset_statements informations de métadonnées du manifeste
  • écrit la chaîne de ressources générée référencée par ces métadonnées

Vous devez publier assetlinks.json sur le domaine du partenaire de confiance :

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éfinir origin et domains dans plugins.CapacitorPasskey dans capacitor.config.*.
  2. Exécutez bunx cap sync.
  3. Utilisez votre nom de package Android réel dans assetlinks.json.
  4. Ajoutez tous les empreintes de certificat de signature dont vous avez besoin, y compris les clés de signature de débogage ou de clés de signature interne si vous testez ces builds.
  5. Hôte le fichier sur le même domaine que vous utilisez comme identifiant de l'entité de confiance.

Différence de comportement importante par rapport à un navigateur

Section intitulée “Différence de comportement importante par rapport à un navigateur”

Lorsque les liens d'actif numérique sont configurés, Android peut utiliser la même entité de confiance et les clés de passeport que votre site web. La différence restante est l'origine littérale signalée dans l'application native. clientDataJSON.

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