用户IAM变更说明
cl.useriam.1 AuthEvent接口废弃
访问级别
公开接口
废弃原因
为了统一用户在系统上的身份认证体验,所有应用在进行用户身份认证时,需要使用更换为新方案,使用系统提供的用户身份认证控件。原有方案相关接口废弃。
废弃影响
该变更为兼容性变更。后续应用一样可以继续使用。
API Level
8
废弃发生版本
从OpenHarmony SDK 4.1.6.2开始。
废弃的接口/组件
接口声明 | 废弃说明 | 替换接口 |
---|---|---|
interface AuthEvent | 不再支持,请使用新接口IAuthCallback | interface IAuthCallback |
callback(result: EventInfo): void | 不再支持,请使用新接口IAuthCallback中的onResult | method onResult |
field AuthEventKey | 不再支持 | 无 |
type EventInfo | 不再支持,请使用新接口IAuthCallback中的UserAuthResult | interface UserAuthResult |
interface AuthResultInfo | 不再支持 | 无 |
field result | 不再支持,请使用UserAuthResult中的result | field result |
field token | 不再支持,请使用UserAuthResult中的token | field token |
field remainAttempts | 不再支持 | 无 |
field lockoutDuration | 不再支持 | 无 |
interface TipInfo | 不再支持 | 无 |
field module | 不再支持 | 无 |
field tip | 不再支持 | 无 |
enum_class FingerprintTips | 不再支持 | 无 |
enum_instance FINGERPRINT_AUTH_TIP_TOO_SLOW | 不再支持 | 无 |
enum_instance FINGERPRINT_AUTH_TIP_TOO_FAST | 不再支持 | 无 |
enum_instance FINGERPRINT_AUTH_TIP_PARTIAL | 不再支持 | 无 |
enum_instance FINGERPRINT_AUTH_TIP_INSUFFICIENT | 不再支持 | 无 |
enum_instance FINGERPRINT_AUTH_TIP_DIRTY | 不再支持 | 无 |
enum_instance FINGERPRINT_AUTH_TIP_GOOD | 不再支持 | 无 |
enum_class FaceTips | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_BRIGHT | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_DARK | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_CLOSE | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_FAR | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_HIGH | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_LOW | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_RIGHT | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_LEFT | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_TOO_MUCH_MOTION | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_POOR_GAZE | 不再支持 | 无 |
enum_instance FACE_AUTH_TIP_NOT_DETECTED | 不再支持 | 无 |
适配指导
以AuthEvent接口中的callback回调函数替换为IAuthCallback的onResult回调函数为例,示例代码如下:
import userIAM_userAuth from '@ohos.userIAM.userAuth';
let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
let authType = userIAM_userAuth.UserAuthType.FACE;
let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
try {
let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
auth.on('result', {
// API9通过AuthEvent接口中的callback回调函数获取认证结果
callback: (result: userIAM_userAuth.AuthResultInfo) => {
console.log('authV9 result ' + result.result);
console.log('authV9 token ' + result.token);
console.log('authV9 remainAttempts ' + result.remainAttempts);
console.log('authV9 lockoutDuration ' + result.lockoutDuration);
}
} as userIAM_userAuth.AuthEvent);
auth.start();
console.log('authV9 start success');
} catch (error) {
console.error('authV9 error = ' + error);
// do error
}
import userAuth from '@ohos.userIAM.userAuth';
const authParam : userAuth.AuthParam = {
challenge: new Uint8Array([49, 49, 49, 49, 49, 49]),
authType: [userAuth.UserAuthType.PIN],
authTrustLevel: userAuth.AuthTrustLevel.ATL1,
};
const widgetParam :userAuth.WidgetParam = {
title: '请输入密码',
};
try {
let userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam);
console.log('get userAuth instance success');
// 需要调用UserAuthInstance的start()接口,启动认证后,才能通过onResult获取到认证结果。
userAuthInstance.on('result', {
// API10通过IAuthCallback的onResult回调函数获取认证结果
onResult (result) {
console.log('userAuthInstance callback result = ' + JSON.stringify(result));
}
});
console.log('auth on success');
} catch (error) {
console.error('auth catch error: ' + JSON.stringify(error));
}