跳过内容

后端笔记

GitHub

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

  • 生成注册和身份验证挑战
  • 验证证明和断言响应
  • 强制依赖方 ID 和挑战验证
  • 在浏览器流程中一样存储凭据和计数

什么保持不变

标题:什么保持不变

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

  • 在 web 上,它将请求转发到真实的浏览器 WebAuthn API。
  • 在本机 Capacitor 上,它返回浏览器类似凭据对象,背靠本机 passkey API。
  • 您的后端可以保持相同的挑战和验证管道。

在 Android 上发生什么变化

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

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

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

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

这给您带来了:

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

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

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

如果您的后端已经返回 PublicKeyCredentialCreationOptionsJSONPublicKeyCredentialRequestOptionsJSON,您也可以使用直接插件 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,
});

继续从后端笔记

标题:继续从后端笔记

如果您正在使用 后端笔记 来规划身份验证和帐户流程,连接它与 使用 @capgo/capacitor-passkey 为native能力在使用 @capgo/capacitor-passkey @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login, @capgo/capacitor-passkey for the implementation detail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric for the implementation detail in @capgo/capacitor-native-biometric, and Two-factor authentication for the implementation detail in Two-factor authentication.