功能场景描述及使用场景一是涉密系统,需要高度安全防护地方;二是针对大规模人群的身份鉴别的技术;三是针对城市公共事务的市民应用;四是从现实生活进入互联网虚拟世界的认证应用。核心代码解释通过navigationButtonText属性进行用户认证。import userAuth from '@ohos.userIAM.userAuth' import PermissionManager from '../util/PermissionManager' @Component export struct UserAuth { build() { Column() { Text('用户认证').fontSize(50) Button('用户认证 身份认证类型:PIN码,信任等级 ATL4').width('80%') .onClick(async () => { const authParam : userAuth.AuthParam = { challenge: new Uint8Array([49, 49, 49, 49, 49, 49]), authType: [userAuth.UserAuthType.PIN], authTrustLevel: userAuth.AuthTrustLevel.ATL4, }; const widgetParam :userAuth.WidgetParam = { title: '请输入锁屏密码' }; try { const userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam); userAuthInstance.on('result', { onResult(result) { console.log('wsf: userAuthInstance callback result = ' + JSON.stringify(result)); } }) await PermissionManager.getInstance().requestPermission(['ohos.permission.ACCESS_BIOMETRIC']) userAuthInstance.start() } catch (error) { console.error('wsf: auth catch error: ' + JSON.stringify(error)); } }) Button('用户认证 身份认证类型:FACE').width('80%') .onClick(async () => { const authParam : userAuth.AuthParam = { challenge: new Uint8Array([49, 49, 49, 49, 49, 49]), authType: [userAuth.UserAuthType.FACE], authTrustLevel: userAuth.AuthTrustLevel.ATL1, }; const widgetParam :userAuth.WidgetParam = { title: '请输入密码', }; try { const userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam); userAuthInstance.on('result', { onResult(result) { console.log('wsf: userAuthInstance callback result = ' + JSON.stringify(result)); } }) await PermissionManager.getInstance().requestPermission(['ohos.permission.ACCESS_BIOMETRIC']) userAuthInstance.start() } catch (error) { console.error('wsf: auth catch error: ' + JSON.stringify(error)); } }) Button('用户认证 身份认证类型:指纹').width('80%') .onClick(async () => { const authParam : userAuth.AuthParam = { challenge: new Uint8Array([49, 49, 49, 49, 49, 49]), authType: [userAuth.UserAuthType.FINGERPRINT], authTrustLevel: userAuth.AuthTrustLevel.ATL1, }; const widgetParam :userAuth.WidgetParam = { title: '把手指头放上面', navigationButtonText: "我是导航按键" // 只能在指纹,人脸类型设置;暂不生效 }; try { const userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam); userAuthInstance.on('result', { onResult(result) { console.log('wsf: userAuthInstance callback result = ' + JSON.stringify(result)); } }) await PermissionManager.getInstance().requestPermission(['ohos.permission.ACCESS_BIOMETRIC']) userAuthInstance.start() } catch (error) { console.error('wsf: auth catch error: ' + JSON.stringify(error)); } }) Button('用户认证 5s后自动取消').width('80%') .onClick(async () => { const authParam : userAuth.AuthParam = { challenge: new Uint8Array([49, 49, 49, 49, 49, 49]), authType: [userAuth.UserAuthType.PIN], authTrustLevel: userAuth.AuthTrustLevel.ATL4, }; const widgetParam :userAuth.WidgetParam = { title: '请输入锁屏密码', }; try { const userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam); userAuthInstance.on('result', { onResult(result) { console.log('wsf: userAuthInstance callback result = ' + JSON.stringify(result)); } }) await PermissionManager.getInstance().requestPermission(['ohos.permission.ACCESS_BIOMETRIC']) userAuthInstance.start() setTimeout(() => { userAuthInstance.cancel() }, 5000) } catch (error) { console.error('wsf: auth catch error: ' + JSON.stringify(error)); } }) } } }
功能场景描述及使用场景
一是涉密系统,需要高度安全防护地方;二是针对大规模人群的身份鉴别的技术;三是针对城市公共事务的市民应用;四是从现实生活进入互联网虚拟世界的认证应用。
核心代码解释
通过navigationButtonText属性进行用户认证。