示例代码合集地址:
HarmonyOS示例代码-鸿蒙系统示例代码-华为开发者联盟 (huawei.com)
代码工程地址:
OnlineAuthenticationkit-sample-IFAAClientdemo-ArkTS: 本示例主要展示IFAA的移动端的免密身份认证能力。 (gitee.com)
IFAA
介绍
本示例展示了IFAA免密身份认证接口的使用方法,IIFAA协议具体功能请参考IIFAA本地免密技术规范
通过从 @kit.OnlineAuthenticationKit 导入IFAA API接口,可实现基于IIFAA协议提供的端侧免密支付开通,认证和注销功能。
效果预览
应用入口 | 应用主页 | 接口使用按钮 |
---|---|---|
点击图标打开应用 | 应用主页显示在设备屏幕 | 点击接口测试按钮调用接口 |
![]() | ![]() | ![]() |
工程目录
├── entry/src/main/ets // 代码区
│ ├── entryability
│ │ └── EntryAbility.ets // 程序入口类
│ ├── model
│ │ └── IfaaModel.ts // 开通、认证、关闭功能实现
│ └── pages
│ └── Index.ets // 主页面入口
使用说明
- 使用指纹/3D人脸进行免密身份认证,移动端设备需要录入对应的生物特征信息。
- 在设备录入指纹/3D人脸后,点击开启按钮,页面弹出弹窗进行认证,提示开启成功。
- 点击认证按钮,可使用生物特征(人脸/指纹)进行IFAA免密身份认证。
- 点击关闭按钮,关闭IFAA生物特征(人脸/指纹)免密身份认证。
具体实现
以IFAA认证功能为例,业务使用时,需要先进行import导入如下IFAA API:
import { ifaa } from '@kit.OnlineAuthenticationKit'
- function preAuth():Promise;
- function auth(authToken: Uint8Array, authData: Uint8Array):Promise;
业务使用时,首先需要在设备中存入指纹或3D人脸;首先通过调用preAuth()接口获取本次验证临时challenge参数,该数值需与生物认证所用challenge保持一致,IFAA服务会进行时效校验,获取参数后长时间未使用会导致验证失败; 通过调用IAM成功获取指纹/人脸信息后,使用auth()接口进行身份认证,认证成功返回签名报文,失败会抛出异常。 具体用例请参考Index.ets
相关权限
不涉及
依赖
UserAuthenticationKit
约束与限制
- 本示例仅支持标准系统上运行;
- 本示例需要使用DevEco Studio NEXT Developer Preview1才可编译运行;
- 样例代码需要使用IIFAA中心服务器签名的报文才能取得正确的结果。