跳过内容

安卓设置

在 Android 上,Passkey 与您的网站在应用程序和依赖方域名通过数字资产链接连接时有效。

在添加插件配置并运行后, bunx cap sync插件将生成的 Android 主机项目进行修补:

  • 注入 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 可以使用相同的依赖方和 passkeys 作为您的网站。剩下的差异是本机应用程序报告的原始位置 clientDataJSON.

  • 一个正常的 Android 应用程序不会像有特权的浏览器一样行为
  • 断言的原始位置可以绑定到 Android 应用程序签名而不是您的网站原始位置
  • 如果您的后端严格验证, clientDataJSON.origin接受 Android 应用程序原始位置和网站原始位置