跳转到正文

Android 配置

GitHub

在 Android 上,当应用和依赖方域名通过 Digital Asset Links 建立关联后,passkeys 就能与你的网站配合使用。

添加插件配置并运行后 bunx cap sync,插件会修改生成的 Android 宿主项目:

  • 注入 asset_statements manifest 元数据
  • 写入该元数据所引用的生成的字符串资源

您必须发布 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. 设置 origin 以及 domains 中的 plugins.CapacitorPasskey 中的 capacitor.config.*.
  2. 运行 bunx cap sync.
  3. 请在以下位置使用真实的 Android package name: assetlinks.json.
  4. 添加所有需要的签名证书指纹,如果测试这些构建版本,请包含 debug 或内部签名密钥。
  5. 将文件托管在与你使用的 relying-party ID 相同的域名下。

与浏览器的重要行为差异

标题为“与浏览器的重要行为差异”

配置好 Digital Asset Links 后,Android 可以使用与你网站相同的 relying party 和 passkeys。剩下的区别在于原生端报告的字面 origin。 clientDataJSON.

  • 普通的 Android 应用行为与具有特权的浏览器不同。
  • Assertion origin 可以与 Android 应用签名绑定,而不是你的网站 origin。
  • 如果您的后端会严格校验 clientDataJSON.origin,请同时接受 Android 应用的 origin 和网站的 origin。

如果你正在使用 Android 配置 用来规划身份验证和账户流程,并将它与 使用 @capgo/capacitor-passkey 在“使用 @capgo/capacitor-passkey”中了解原生能力, @capgo/capacitor-social-login 在 @capgo/capacitor-social-login 中查看实现细节, @capgo/capacitor-passkey 有关 @capgo/capacitor-passkey 的实现细节, @capgo/capacitor-native-biometric 以及 @capgo/capacitor-native-biometric 中的实现细节, 双因素认证 有关双重身份验证的实现细节。