跳过内容

后端笔记

GitHub

您的后端仍然拥有正常的WebAuthn流程:

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

什么保持不变

标题:什么保持不变

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

  • 在Web上,它将请求转发到真实的浏览器WebAuthnAPI。
  • 在本机Capacitor上,它返回使用本机Passkey API支持的浏览器类凭据对象。
  • 您的后端可以保持相同的挑战和验证管道。

在Android上发生什么变化

标题:在Android上发生什么变化

Android本机Passkey与浏览器信任模型不相同。

  • 数字资产链接使Android能够与您的网站共享相同的依赖方和凭据生态系统。
  • 文字 clientDataJSON.origin 网站源值仍然可能与网站源值不同。
  • 如果您的服务器只接受 https://your-domain,即使验证通过,Android原生断言也可能会失败。
标题:推荐的后端规则

允许支持原生Android密钥的同一依赖方域的预期浏览器源和预期Android应用源。

这给您带来了:

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

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

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

如果您的后端已经返回 PublicKeyCredentialCreationOptionsJSON 并且 PublicKeyCredentialRequestOptionsJSON, you can also use the direct plugin API instead of the browser-style 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,
});

复制到剪贴板

继续从后端笔记

继续从后端笔记 如果您正在使用 后端笔记 Using @capgo/capacitor-passkey 使用@capgo/capacitor-passkey 为native能力在使用@capgo/capacitor-passkey, Capgo @capgo/capacitor 社交登录实现细节 Capgo @capgo/capacitor Passkey Capgo @capgo/capacitor Passkey 实现细节 Capgo @capgo/capacitor 原生生物识别 Capgo @capgo/capacitor 原生生物识别实现细节, 双因素认证 Capgo @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__ 双因素认证实现细节