跳过内容

后端说明

您的后端仍然拥有正常的 WebAuthn 仪式:

  • 生成注册和身份验证挑战
  • 验证证明和断言响应
  • 强制依赖方 ID 和挑战验证
  • 以浏览器流程相同的方式存储凭证和计数器

什么保持不变

标题:什么保持不变

插件旨在保留您的现有 WebAuthn code 的前端形状。

  • 在 web 上,它将指向真实的浏览器 WebAuthn API。
  • 在本机 Capacitor 上,它返回浏览器类凭证对象,基于本机 passkey API。
  • 您的后端可以保持相同的挑战和验证管道。

Android 中发生了什么变化

标题:Android 中发生了什么变化

Android 原生密钥与浏览器信任模型不相同。

  • 数字资产链接让 Android 与您的网站共享同一个依赖方和凭证生态系统。
  • “literal”值仍然可能与网站源不同。 clientDataJSON.origin 如果您的服务器只接受
  • ,即使密钥本身是有效的,Android 原生断言也可能会失败。 https://your-domain推荐的后端规则

__CAPGO_KEEP_0__

这给了你:

  • 浏览器支持网站
  • 本地支持Capacitor应用中的密码钥
  • 同一依赖方域名的密码钥生态系统

如果您需要直接的JSON安全调用

标题:如果您需要直接的JSON安全调用

如果您的后端已经返回 PublicKeyCredentialCreationOptionsJSON 并且 PublicKeyCredentialRequestOptionsJSON您也可以使用直接插件API而不是浏览器样式的 shim:

import { CapacitorPasskey } from '@capgo/capacitor-passkey';
const registration = await CapacitorPasskey.createCredential({
origin: 'https://signin.example.com',
publicKey: registrationOptionsFromBackend,
});
const authentication = await CapacitorPasskey.getCredential({
origin: 'https://signin.example.com',
publicKey: requestOptionsFromBackend,
});