# OnlineAuthenticationkit_codelab_FIDOClientdemo_ArkTS **Repository Path**: harmonyos_codelabs/online-authenticationkit_codelab_-fidoclientdemo_-arkts ## Basic Information - **Project Name**: OnlineAuthenticationkit_codelab_FIDOClientdemo_ArkTS - **Description**: 此Codelab介绍了FIDO的移动端免密身份认证能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-19 - **Last Updated**: 2025-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FIDO ## 介绍 本示例展示了FIDO免密身份认证接口的使用方法 通过从 @kit.OnlineAuthenticationKit 导入FIDO API接口,可实现基于FIDO协议提供的端侧免密开通,认证和注销功能。 ## 效果预览 | 应用入口 | 应用主页| 接口使用按钮 | | --------------- | --------------- | -------------- | | 点击图标打开应用 | 应用主页显示在设备屏幕 | 点击接口测试按钮调用接口 | | | | | ## 工程目录 ``` ├── entry/src/main/ets │ ├── bean │ │ ├── FidoAuth.ets // 认证数据结构 │ │ ├── FidoDereg.ets // 注销数据结构 │ │ └── FidoReg.ets // 注册数据结构 │ ├── ConnectService.ets // 连接FIDO服务器,获取注册、认证、注销报文 │ ├── entryability │ │ └── EntryAbility.ets // 程序入口类 │ ├── pages │ │ └── Index.ets // 注册、认证、注销接口调用示例 │ └── util │ └── Util.ets // 工具类 ``` ## 使用说明 1. 运行前需修改并指定服务器地址(entry/src/main/ets/ConnectService.ets); 2. 在主界面,每次使用FIDO功能之前,需要首先点击discover初始化认证器数据; 3. 在设备录入指纹/人脸后,点击开启按钮,页面弹出弹窗进行生物特征认证,提示开启成功; 4. 点击check policy可查询FIDO服务开通状态; 5. 在开启后点击认证按钮,页面弹出弹窗进行认证,提示认证成功; 6. 点击关闭按钮,提示关闭成功。 ## 具体实现(接口参考@hms.security.fido) 以FIDO开启功能为例,业务使用时,需要先进行import导入如下fido API: * function discover(context: common.Context): Promise<DiscoveryData>; * function processUAFOperation(context: common.Context, uafRequest: UAFMessage, channelBindings?: ChannelBinding):Promise<UAFMessage>; * function notifyUAFResult(context: common.Context, uafResponse: UAFMessage): Promise<void>; 业务使用时,首先需要调用discover()接口初始化认证器;processUAFOperation()提供统一接口,通过构造开启uafRequest数据选择开启功能;调用notifyUAFResult()接口进行注册结果通知。 具体用例请参考Index.ets。 ## 相关权限 1. 获取振动权限:ohos.permission.VIBRATE。 2. 获取生物识别权限:ohos.permission.ACCESS_BIOMETRIC。 ## 依赖 不涉及 ## 约束与限制 1. 本示例仅支持标准系统上运行,支持设备:华为手机、平板、2in1; 2. 本示例需要使用DevEco Studio NEXT Developer Beta1才可编译运行; 3. HarmonyOS系统:HarmonyOS NEXT Beta1及以上。 4. HarmonyOS SDK版本:HarmonyOS NEXT Beta1 SDK及以上。 5. 若使用人脸认证功能,设备须支持3D人脸; 6. FIDO客户端接口仅提供端侧能力,无法独立进行开启/认证服务;ConnectService.ets提供连云服务模板,如需连云请通过修改服务器url地址接入云端服务器。