コンテンツにジャンプ

Androidの設定

Androidでは、アプリと依存するパーティドメインがデジタルアセットリンクを通じて接続されている場合、パスキーはウェブサイトと連携します。

プラグイン設定を追加して実行した後、 bunx cap syncプラグインは生成されたAndroidホストプロジェクトをパッチします:

  • manifestメタデータに asset_statements 生成された文字列リソースを記述します
  • ウェブサイトをホストするためにまだ必要なもの

公開する必要があります assetlinks.json 依存先ドメインで:

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

例:

[
{
"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. 設定 origindomainsplugins.CapacitorPasskeycapacitor.config.*.
  2. 起動 bunx cap sync.
  3. Android アプリの実際のパッケージ名を使用してください。 assetlinks.json.
  4. すべての署名証明書の指紋を追加してください。 それらのビルドをテストする場合のデバッグまたは内部署名キーも含めてください。
  5. 同じドメインを使用しているリライアントIDを使用するドメインでファイルをホストしてください。

ブラウザとは異なる重要な動作の差

ブラウザとは異なる重要な動作の差

Androidでは、デジタルアセットリンクが設定されている場合、同じ依存パーティーとパスキーをウェブサイトと共有できます。残りの差は、ネイティブで報告されるLiteral Originです。 clientDataJSON.

  • 通常のAndroidアプリは、特権ブラウザのように振る舞わない。
  • アプリの署名に基づいてアサーションオリジンを紐付けられるのではなく、ウェブサイトのオリジンに紐付けられる。
  • バックエンドが厳密に検証する場合 clientDataJSON.originサイトのオリジンとAndroidアプリのオリジンを同時に受け入れる。