Saltar al contenido

Configuración de Android

En Android, las claves de acceso funcionan con su sitio web cuando la aplicación y el dominio de la parte que confía están conectados a través de Enlaces de Activos Digitales.

Después de agregar la configuración del complemento y ejecutar bunx cap syncel complemento parchea el proyecto de host de Android generado:

  • inyecta el asset_statements metadatos del manifiesto
  • escribe la cadena de recursos de cadena generada que se referencia por ese metadato

Debes publicar assetlinks.json en el dominio de la parte que confía:

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

Ejemplo:

[
{
"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. Establecer origin y domains en plugins.CapacitorPasskey en capacitor.config.*.
  2. Ejecutar bunx cap sync.
  3. Utiliza tu nombre de paquete de Android real en assetlinks.json.
  4. Agrega cada huella de firma de certificado que necesites, incluyendo claves de firma de depuración o internas si pruebas esos builds.
  5. Alquila el archivo en el mismo dominio que usas como ID de entidad de confianza.

Importante diferencia de comportamiento con respecto a un navegador

Sección titulada “Importante diferencia de comportamiento con respecto a un navegador”

Con Digital Asset Links configurados, Android puede utilizar la misma entidad de confianza y claves de inicio de sesión como tu sitio web. La diferencia restante es el origen literal informado en nativo clientDataJSON.

  • Una aplicación de Android normal no se comporta como un navegador privilegiado.
  • El origen de la afirmación puede estar ligado a la firma de la aplicación de Android en lugar del origen del sitio web.
  • Si tu back-end valida estrictamente clientDataJSON.origin, acepta el origen de la aplicación de Android junto con el origen del sitio web.