Zum Inhalt springen

Android-Einrichtung

Bei Android funktionieren Passkeys mit Ihrer Website, wenn die App und der Relying-Party-Domain über Digital Asset Links verbunden sind.

Nachdem Sie die Plugin-Konfiguration hinzugefügt und ausgeführt haben bunx cap sync, das Plugin patcht das generierte Android-Host-Projekt:

  • das asset_statements die Manifest-Metadaten
  • schreibt die generierte Zeichenfolgenressource, die durch diese Metadaten referenziert wird

Sie müssen das veröffentlichen assetlinks.json auf dem Relying-Party-Domain:

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

Beispiel:

[
{
"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. Setzen origin und domains in plugins.CapacitorPasskey in capacitor.config.*.
  2. Ausführen bunx cap sync.
  3. Verwenden Sie Ihren echten Android-Paketnamen in assetlinks.json.
  4. Fügen Sie alle Signaturzertifikatsfingerabdrücke hinzu, die Sie benötigen, einschließlich Debug- oder internen Signierungskeys, wenn Sie diese Builds testen.
  5. Hosten Sie das Datei auf demselben Domain, die Sie als Relying-Party-Id verwenden.

Bei Digital Asset Links konfiguriert, kann Android denselben Relying-Party und Passwörter wie Ihre Website verwenden. Der verbleibende Unterschied ist der wörtliche Ursprung, der in der nativen Anwendung gemeldet wird. clientDataJSON.

  • Ein normales Android-App verhält sich nicht wie eine privilegierte Browser-App.
  • Die Behauptungsquelle kann an die Android-App-Signatur anstatt an Ihre Website-Quelle gebunden werden.
  • Wenn Ihr Backend streng die Validierung anwendet clientDataJSON.origin, akzeptieren Sie die Android-App-Quelle neben der Website-Quelle.