跳转到正文

@capgo/capacitor-native-biometric

为 Android 和 iOS 提供安全的凭据存储及生物识别身份验证访问。

Native Biometric 是适用于 iOS 和 Android 的安全凭据库。它将凭据存储在原生的 Keychain 或 Keystore 中,并可在返回敏感值前要求进行生物识别身份验证。它是 Ionic Identity Vault 凭据库流程的直接替代方案;您的应用可以自主控制超时、生命周期、隐私屏以及自定义密码策略。

  • setCredentials 以及 getCredentials - 安全地存储和检索指定服务器的凭据。
  • getSecureCredentials - 仅在通过原生生物识别验证后读取凭据。
  • isCredentialsSaved 以及 deleteCredentials - 构建 onboarding、锁定状态及登出流程。
  • isAvailable 以及 verifyIdentity - 检查身份验证可用性并在需要时向用户发送 prompt。
方法描述
isAvailable检查生物识别身份验证硬件是否可用。
addListener添加一个在应用从后台恢复时调用的监听器。这有助于检测应用在后台运行期间生物识别可用性是否发生了变化(例如,用户注册或注销了生物识别信息)。
verifyIdentity提示用户进行生物识别身份验证。
getCredentials获取指定服务器的已存储凭据。
setCredentials存储指定服务器的凭据。
deleteCredentials删除指定服务器的已存储凭据。
getSecureCredentials获取指定服务器的已存储凭据,且需要进行生物识别身份验证。凭据必须在设置 accessControl 为 BIOMETRY_CURRENT_SET 或 BIOMETRY_ANY 时进行存储。
isCredentialsSaved检查是否已为指定服务器保存了凭据。
getPluginVersion获取原生 Capacitor 插件版本。

处理以下内容时请使用这些值 biometricError 来自以下内容的 authenticate.

值Code平台含义
UNKNOWN_ERROR0Android, iOS发生了未知错误。
BIOMETRICS_UNAVAILABLE1Android, iOS由于缺少硬件或硬件不可用,无法使用生物识别。
USER_LOCKOUT2Android, iOS由于尝试次数过多,用户已被锁定。
BIOMETRICS_NOT_ENROLLED3Android, iOS设备上未注册任何生物识别信息。
USER_TEMPORARY_LOCKOUT4Android用户被暂时锁定,通常为 30 秒。
AUTHENTICATION_FAILED10Android, iOS身份验证失败。
APP_CANCEL11iOSApp 已取消身份验证流程。
INVALID_CONTEXT12iOS身份验证上下文无效。
NOT_INTERACTIVE13iOS身份验证未进入交互模式。
PASSCODE_NOT_SET14Android, iOS未设置设备密码、PIN 码或备用凭据。
SYSTEM_CANCEL15Android, iOS系统取消了身份验证(例如在锁屏后)。
USER_CANCEL16Android, iOS用户取消了身份验证。
USER_FALLBACK17Android, iOS用户选择了备用身份验证方式。

此参考文档同步自 src/definitions.ts 中的 capacitor-native-biometric.

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