用户认证功能有哪些?

一是涉密系统,需要高度安全防护地方;二是针对大规模人群的身份鉴别的技术;三是针对城市公共事务的市民应用;四是从现实生活进入互联网虚拟世界的认证应用。

HarmonyOS
2024-05-28 21:30:45
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
宇宙无敌超英俊

核心代码解释

通过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)); 
          } 
        }) 
    } 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.

分享
微博
QQ
微信
回复
2024-05-29 22:41:44


相关问题
HarmonyOS 用户认证
346浏览 • 1回复 待解决
HarmonyOS 用户认证问题
541浏览 • 1回复 待解决
HUKS用户认证通过PIN生成密钥
1369浏览 • 1回复 待解决
物联网平台中物模型的功能有什么?
5797浏览 • 1回复 待解决
按照Api进行指纹认证功能调不起来
790浏览 • 1回复 待解决
PolarDB支持哪些备份功能
3527浏览 • 1回复 待解决