Saltare alla navigazione

Configurazione Android

Su Android, le chiavi passkey funzionano con il tuo sito web quando l'app e il dominio del partner di fiducia sono collegati attraverso Digital Asset Links.

Dopo aver aggiunto la configurazione del plugin e aver eseguito bunx cap sync, il plugin aggiusta il progetto host Android generato:

  • inietta i asset_statements metadati del manifesto
  • scrive la stringa di risorsa generata riferita a quel metadato

Devi pubblicare assetlinks.json sul dominio del partito di riferimento:

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

Esempio:

[
{
"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. Imposta origin e domains in plugins.CapacitorPasskey in capacitor.config.*.
  2. Esegui bunx cap sync.
  3. Utilizza il tuo pacchetto Android reale in assetlinks.json.
  4. Aggiungi ogni impronta della chiave di firma necessaria, comprese le chiavi di firma di debug o interne se testi quei build.
  5. Hosta il file sullo stesso dominio che utilizzi come ID di ente che si fida.

Importante differenza di comportamento rispetto a un browser

Sezione intitolata “Importante differenza di comportamento rispetto a un browser”

Con Digital Asset Links configurati, Android può utilizzare lo stesso ente che si fida e le chiavi passkey come il tuo sito web. La differenza rimanente è l'origine letterale riportata in nativo clientDataJSON.

  • Un'app Android normale non si comporta come un browser privilegiato.
  • L'origine dell'asserzione può essere legata alla firma dell'app Android invece dell'origine del sito web.
  • Se il tuo backend valuta rigidamente clientDataJSON.origin, accetta l'origine dell'app Android accanto all'origine del sito web.