Saltar al contenido

Configuración de Android

GitHub

En Android, las passkeys funcionan con tu sitio web cuando la app y el dominio de la relying-party están conectados mediante Digital Asset Links.

Tras añadir la configuración del plugin y ejecutar bunx cap sync, el plugin parchea el proyecto host de Android generado:

  • inyecta el asset_statements metadatos del manifest
  • escribe el recurso de cadena generado que referencia esos metadatos

Debes publicar assetlinks.json en el dominio de la parte confiable:

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. Configurar origin y domains en plugins.CapacitorPasskey en capacitor.config.*.
  2. Ejecuta bunx cap sync.
  3. Usa el nombre de paquete real de Android en assetlinks.json.
  4. Añade todos los fingerprints de los certificados de firma que necesites, incluyendo las claves de debug o de firma interna si pruebas esos builds.
  5. Aloja el archivo en el mismo dominio que uses como relying-party ID.

Diferencia de comportamiento importante respecto al navegador

Sección titulada “Diferencia de comportamiento importante respecto a un navegador”

Con Digital Asset Links configurado, Android puede usar el mismo relying party y passkeys que tu sitio web. La diferencia restante es el origin literal reportado en native clientDataJSON.

  • Una app de Android normal no se comporta como un navegador con privilegios.
  • El assertion origin puede estar vinculado a la firma de la app de Android en lugar del origin de tu sitio web.
  • Si tu backend valida estrictamente clientDataJSON.origin, acepta el origen de la app de Android junto al de la web.

Si estás usando Configuración de Android para planificar los flujos de autenticación y de cuenta, conéctalo con Uso de @capgo/capacitor-passkey para la capacidad nativa en Uso de @capgo/capacitor-passkey, @capgo/capacitor-social-login para los detalles de implementación en @capgo/capacitor-social-login, @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey, @capgo/capacitor-native-biometric para el detalle de implementación en @capgo/capacitor-native-biometric, y Autenticación de dos factores para el detalle de implementación en la autenticación de dos factores.