uni-app如何实现App端的指纹解锁 uni-app生物识别安全

胖涛同学_2152

胖涛同学_2152

2026-05-21

341人浏览

原创

uni-app不直接提供跨平台指纹识别api,必须通过原生插件调用ios的lacontext或android的biometricprompt/fingerprintmanagercompat,且需在manifest.json中声明对应权限、调用前校验isavailable(),结果仅返回布尔值,严禁暴露原始生物特征数据。

uni-app如何实现app端的指纹解锁 uni-app生物识别安全

uni-app 本身不直接提供跨平台的指纹识别 API,App 端(iOS/Android)的生物识别必须走原生能力,不能靠 uni.getSystemInfouni.showToast 这类通用 API 实现。真正能用的,只有通过原生插件调用系统级接口 —— 否则你写的代码在真机上会静默失败或直接报错 undefined is not an object

uni-app 调用指纹识别必须用原生插件

Webview、H5、小程序环境均不支持指纹识别;App 端也仅限 iOS 的 LAContext 和 Android 的 FingerprintManagerCompat(API 23+)或 BiometricPrompt(API 28+)。uni-app 没有内置封装,uni.checkIsSupportSoterAuthentication 是微信小程序专属,对 App 端完全无效。

  • 必须使用 uni-app 原生插件市场中已上架的成熟插件,例如:uni-biometric-authuni-fingerprint 或厂商定制插件(如华为 huawei-hms-biometrics
  • 插件需在 manifest.json 中显式声明权限:Android 需 android.permission.USE_FINGERPRINT(API 28+ 已废弃,但低版本仍需),iOS 需在 ios > permissions 下配置 NSFaceIDUsageDescription(注意:Face ID 权限描述文案必须填写,否则审核被拒)
  • 插件调用前必须判断设备是否支持:plugin.isAvailable() 或类似方法,不能跳过 —— 某些 Android 旧机型(如部分联发科芯片)即使有指纹传感器,也可能因 ROM 层未开放 API 导致 isAvailable 返回 false

Android 上 BiometricPrompt 与 FingerprintManager 的兼容性取舍

Android 从 API 28 开始推荐用 BiometricPrompt,它统一支持指纹、人脸、虹膜,且 UI 标准化;但低于 API 28 的设备只能回退到 FingerprintManager(已弃用),而很多插件对回退逻辑处理粗糙,导致低版本闪退或无响应。

uni-app
uni-app

uni-app 是基于 Vue 的跨端开发框架,适合开发 H5、App、小程序、鸿蒙和多端业务应用。

下载
  • 若目标用户集中在 Android 9+,优先选封装了 BiometricPrompt 的插件,并确认其 promptInfo 参数支持自定义标题和描述(避免系统默认文案“Authenticate”不符合中文场景)
  • 若需兼容 Android 6.0(API 23)以上,务必检查插件源码中是否有 Build.VERSION.SDK_INT >= 28 分支,以及 fallback 到 FingerprintManager 时是否做了 isHardwareDetected() + hasEnrolledFingerprints() 双重校验
  • 注意:部分国产 ROM(如 MIUI、EMUI)会拦截 BiometricPrompt 调用,需在插件初始化时传入 forceUseSystemDialog: true 参数绕过定制 UI

安全边界:指纹结果只应返回 boolean,绝不返回原始特征数据

所有合规的原生插件都应遵循「认证即授权」原则:调用成功只返回 { success: true } 或失败原因(如 ERROR_USER_CANCELED),绝不能暴露指纹模板、加密密钥或 biometric token。一旦插件文档或示例里出现 res.tokenres.keyHandle 这类字段,立刻弃用 —— 这违反 Android Keystore 和 iOS Secure Enclave 的隔离设计。

  • 业务侧应在服务端完成身份核验:App 端指纹通过后,用临时凭证(如短时效 JWT)向后端换用户 session,而非把指纹 hash 发给服务器
  • 本地敏感操作(如支付确认)建议结合 uni.getProvider 获取当前认证类型(fingerprint / face),并记录日志类型,但不要存储原始认证事件数据
  • 插件若要求你在 manifest 中声明 android.permission.USE_BIOMETRIC(而非 USE_FINGERPRINT),说明它已适配 Android 9+ 统一生物识别框架,更值得信赖

最容易被忽略的一点:iOS 上 Face ID 和 Touch ID 共享同一套 API(LAContext),但插件若没做 canEvaluatePolicyLAPolicy.deviceOwnerAuthenticationWithBiometrics 检查,就可能在未录入生物信息的设备上直接崩溃。上线前务必用「未录入指纹/未开启 Face ID」的真机测一次 —— 模拟器永远无法复现这个 case。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

uni-app

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2023

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4323

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5450

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

4898

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

683

5

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

0

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app从入门到实战教程
uni-app从入门到实战教程

共0课时 | 0人学习

uni-app x harmony开发指南
uni-app x harmony开发指南

共0课时 | 0人学习

uni-app鸿蒙运行和发行
uni-app鸿蒙运行和发行

共0课时 | 0人学习