Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
719c4dcf
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
719c4dcf
编写于
3月 30, 2022
作者:
O
openharmony_ci
提交者:
Gitee
3月 30, 2022
浏览文件
操作
浏览文件
下载
差异文件
!2698 fix docs bug
Merge pull request !2698 from 王国强/wgq_0329
上级
8e5e22d5
995e1fb1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
159 addition
and
101 deletion
+159
-101
zh-cn/application-dev/security/userauth-guidelines-api6.md
zh-cn/application-dev/security/userauth-guidelines-api6.md
+46
-0
zh-cn/application-dev/security/userauth-guidelines-api8.md
zh-cn/application-dev/security/userauth-guidelines-api8.md
+113
-0
zh-cn/application-dev/security/userauth-guidelines.md
zh-cn/application-dev/security/userauth-guidelines.md
+0
-101
未找到文件。
zh-cn/application-dev/security/userauth-guidelines-api6.md
0 → 100644
浏览文件 @
719c4dcf
# 用户认证开发指导
> **说明:**
> 该开发指导匹配@ohos.userIAM.userAuth API Version 6开始支持的接口。对应接口已在API Version 8废弃,建议使用[新接口](userauth-guidelines-api8.md)。
## 场景介绍
当前用户认证支持2D人脸识别、3D人脸识别,可应用于设备解锁、应用登录、支付等身份认证场景。
## 接口说明
userIAM_userAuth模块提供了用户认证的相关方法,包括获取认证对象、认证,用户可以使用人脸等生物特征信息进行认证操作。具体接口说明可以查阅
[
API参考
](
../reference/apis/js-apis-useriam-userauth.md
)
。
**表1**
用户认证开放能力列表
| 接口名 | 功能描述 |
| ------------------------------------------------------------ | --------------------------------------------- |
| getAuthenticator(): Authenticator | 获取Authenticator对象,用于执行用户身份认证。 |
| execute(type: AuthType, level: SecureLevel, callback: AsyncCallback
\<
number>): void | 执行用户认证,使用callback方式作为异步方法。 |
| execute(type: AuthType, level: SecureLevel): Promise
\<
number> | 执行用户认证,使用Promise方式作为异步方法。 |
## 开发步骤
开发前请完成以下准备工作:
1.
在应用配置权限文件中,增加ohos.permission.ACCESS_BIOMETRIC的权限声明。
2.
在使用用户认证能力的代码文件中增加import userIAM_userAuth from '@ohos.userIAM.userAuth'。
开发过程:
1.
获取Authenticator的单例对象,代码示例如下:
```
js
let
auth
=
userIAM_userAuth
.
getAuthenticator
();
```
2.
执行认证操作,代码示例如下:
```
js
let
authenticator
=
userIAM_userAuth
.
getAuthenticator
();
authenticator
.
execute
(
"
FACE_ONLY
"
,
"
S2
"
).
then
((
code
)
=>
{
console
.
info
(
"
auth success
"
);
}).
catch
((
code
)
=>
{
console
.
error
(
"
auth fail, code =
"
+
code
);
});
```
zh-cn/application-dev/security/userauth-guidelines-api8.md
0 → 100644
浏览文件 @
719c4dcf
# 用户认证开发指导
> **说明:**
> 该开发指导匹配@ohos.userIAM.userAuth API Version 8开始支持的接口。
## 场景介绍
当前用户认证支持2D人脸识别、3D人脸识别,可应用于设备解锁、应用登录、支付等身份认证场景。
## 接口说明
userIAM_userAuth模块提供了用户认证的相关方法,包括检测认证能力、认证和取消认证等,用户可以使用人脸等生物特征信息进行认证操作。具体接口说明可以查阅
[
API参考
](
../reference/apis/js-apis-useriam-userauth.md
)
。
在执行认证前,需要检查设备是否支持该认证能力,具体指认证类型、认证等级。如果不支持,需要考虑使用其他认证能力。
**表1**
用户认证开放能力列表
| 接口名 | 功能描述 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| getVersion() : number | 获取认证对象的版本信息。 |
| getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel) : number | 根据指定的认证类型、认证等级,检测当前设备是否支持相应的认证能力。 |
| auth(challenge: Uint8Array, authType: UserAuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array | 执行用户认证,使用callback方式作为异步方法。 |
| cancelAuth(contextID : Uint8Array) : number | 通过contextID取消本次认证操作。 |
## 开发步骤
开发前请完成以下准备工作:
1.
在应用配置权限文件中,增加ohos.permission.ACCESS_BIOMETRIC的权限声明。
2.
在使用用户认证能力的代码文件中增加import userIAM_userAuth from '@ohos.userIAM.userAuth'。
开发过程:
1.
获取Authenticator的单例对象,代码示例如下:
```
js
let
auth
=
new
userIAM_userAuth
.
UserAuth
();
```
2.
(可选)获取认证对象的版本信息,代码示例如下:
```
js
let
auth
=
new
userIAM_userAuth
.
UserAuth
();
let
version
=
auth
.
getVersion
();
console
.
info
(
"
auth version =
"
+
version
);
```
3.
根据指定的认证类型、认证等级,检测当前设备是否支持相应的认证能力,代码示例如下:
```
js
let
auth
=
new
userIAM_userAuth
.
UserAuth
();
let
checkCode
=
auth
.
getAvailableStatus
(
userIAM_userAuth
.
UserAuthType
.
FACE
,
userIAM_userAuth
.
AuthTrustLevel
.
ATL1
);
if
(
checkCode
==
userIAM_userAuth
.
ResultCode
.
SUCCESS
)
{
console
.
info
(
"
check auth support success
"
);
// 此处添加支持指定类型认证的逻辑
}
else
{
console
.
error
(
"
check auth support fail, code =
"
+
checkCode
);
// 此处添加不支持指定类型认证的逻辑
}
```
4.
执行认证操作,代码示例如下:
```
js
let
auth
=
new
userIAM_userAuth
.
UserAuth
();
auth
.
auth
(
null
,
userIAM_userAuth
.
UserAuthType
.
FACE
,
userIAM_userAuth
.
AuthTrustLevel
.
ATL1
,
{
onResult
:
(
result
,
extraInfo
)
=>
{
try
{
console
.
info
(
"
auth onResult result =
"
+
result
);
console
.
info
(
"
auth onResult extraInfo =
"
+
JSON
.
stringify
(
extraInfo
));
if
(
result
==
'
SUCCESS
'
)
{
// 此处添加认证成功逻辑
}
else
{
// 此处添加认证失败逻辑
}
}
catch
(
e
)
{
console
.
info
(
"
auth onResult error =
"
+
e
);
}
},
onAcquireInfo
:
(
module
,
acquire
,
extraInfo
)
=>
{
try
{
console
.
info
(
"
auth onAcquireInfo module =
"
+
module
);
console
.
info
(
"
auth onAcquireInfo acquire =
"
+
acquire
);
console
.
info
(
"
auth onAcquireInfo extraInfo =
"
+
JSON
.
stringify
(
extraInfo
));
}
catch
(
e
)
{
console
.
info
(
"
auth onAcquireInfo error =
"
+
e
);
}
}
});
```
5.
认证过程中取消认证,代码示例如下:
```
js
let
auth
=
new
userIAM_userAuth
.
UserAuth
();
// contextId通过auth接口获取
let
contextId
=
auth
.
auth
(
null
,
userIAM_userAuth
.
UserAuthType
.
FACE
,
userIAM_userAuth
.
AuthTrustLevel
.
ATL1
,
{
onResult
:
(
result
,
extraInfo
)
=>
{
console
.
info
(
"
auth onResult result =
"
+
result
);
},
onAcquireInfo
:
(
module
,
acquire
,
extraInfo
)
=>
{
console
.
info
(
"
auth onAcquireInfo module =
"
+
module
);
}
});
let
cancelCode
=
auth
.
cancel
(
contextId
);
if
(
cancelCode
==
userIAM_userAuth
.
ResultCode
.
SUCCESS
)
{
console
.
info
(
"
cancel auth success
"
);
}
else
{
console
.
error
(
"
cancel auth fail
"
);
}
```
zh-cn/application-dev/security/userauth-guidelines.md
已删除
100644 → 0
浏览文件 @
8e5e22d5
# 用户认证开发指导
## 场景介绍
当前用户认证支持2D人脸识别、3D人脸识别,可应用于设备解锁、应用登录、支付等身份认证场景。
## 接口说明
userIAM_userAuth模块提供了用户认证的相关方法,包括检测认证能力、认证和取消认证等,用户可以通过人脸等生物特征信息进行认证操作。具体接口说明可以查阅
[
API参考
](
../reference/apis/js-apis-useriam-userauth.md
)
。
在执行认证前,需要检查设备是否支持该认证能力,具体指认证类型、安全级别和是否本地认证。如果不支持,需要考虑使用其他认证能力。
**表1**
用户认证开放能力列表
| 接口名 | 功能描述 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| getAuthenticator(): Authenticator | 获取Authenticator对象,用于执行用户身份认证。
<sup>
6+
</sup><br>
获取Authenticator对象,用于检测设备身份认证能力、执行和取消用户身份认证,获取认证过程中的提示信息。
<sup>
7+
</sup>
|
| checkAvailability(type: AuthType, level: SecureLevel): number | 根据指定的认证类型、安全等级,检测当前设备是否支持相应的认证能力。 |
| execute(type: AuthType, level: SecureLevel, callback: AsyncCallback
\<
number>): void | 执行用户认证,使用callback方式作为异步方法。 |
| execute(type: AuthType, level: SecureLevel): Promise
\<
number> | 执行用户认证,使用Promise方式作为异步方法。 |
| cancel(): void | 取消当前的认证流程。 |
| on(type: "tip", callback: Callback
\<
Tip>): void | 订阅指定类型的事件。 |
| off(type: "tip", callback?: Callback
\<
Tip>): void | 取消订阅指定类型的事件。 |
## 开发步骤
开发前请完成以下准备工作:
1.
在应用配置权限文件中,增加ohos.permission.ACCESS_BIOMETRIC的权限声明。
2.
在使用用户认证能力的代码文件中增加import userIAM_userAuth from '@ohos.userIAM.userAuth'。
开发过程:
1.
获取Authenticator的单例对象,代码示例如下:
```
js
let
auth
=
userIAM_userAuth
.
getAuthenticator
();
```
2.
检测设备是否具有指定级别的认证能力:
2D人脸识别支持低于S2级别的认证,3D人脸识别支持低于S3级别的认证。代码示例如下:
```
js
let
authenticator
=
userIAM_userAuth
.
getAuthenticator
();
let
checkCode
=
authenticator
.
checkAvailability
(
"
FACE_ONLY
"
,
"
S2
"
);
if
(
checkCode
==
userIAM_userAuth
.
CheckAvailabilityResult
.
SUPPORTED
)
{
console
.
info
(
"
check auth support success
"
);
}
else
{
console
.
error
(
"
check auth support fail, code =
"
+
checkCode
);
}
```
3.
(可选)订阅人脸tip信息,代码示例如下:
```
js
let
authenticator
=
userIAM_userAuth
.
getAuthenticator
();
let
tipCallback
=
(
tip
)
=>
{
console
.
info
(
"
receive tip: errorCode(
"
+
tip
.
errorCode
+
"
) code(
"
+
tip
.
tipCode
+
"
) event(
"
+
tip
.
tipEvent
+
"
) info(
"
+
tip
.
tipInfo
+
"
)
"
);
};
authenticator
.
on
(
"
tip
"
,
tipCallback
);
```
4.
执行认证操作,代码示例如下:
```
js
let
authenticator
=
userIAM_userAuth
.
getAuthenticator
();
authenticator
.
execute
(
"
FACE_ONLY
"
,
"
S2
"
).
then
((
code
)
=>
{
authenticator
.
off
(
"
tip
"
,
tipCallback
);
console
.
info
(
"
auth success
"
);
}).
catch
((
code
)
=>
{
authenticator
.
off
(
"
tip
"
,
tipCallback
);
console
.
error
(
"
auth fail, code =
"
+
code
);
});
```
5.
(仅执行订阅信息后需要)取消订阅人脸tip信息:
```
js
let
authenticator
=
userIAM_userAuth
.
getAuthenticator
();
let
tipCallback
=
(
tip
)
=>
{
console
.
info
(
"
receive tip: errorCode(
"
+
tip
.
errorCode
+
"
) code(
"
+
tip
.
tipCode
+
"
) event(
"
+
tip
.
tipEvent
+
"
) info(
"
+
tip
.
tipInfo
+
"
)
"
);
};
// 取消订阅指定回调
authenticator
.
off
(
"
tip
"
,
tipCallback
);
// 取消订阅所有回调authenticator.off("tip");
```
6.
认证过程中取消认证,代码示例如下:
```
js
let
authenticator
=
userIAM_userAuth
.
getAuthenticator
();
let
cancelCode
=
authenticator
.
cancel
();
if
(
cancelCode
==
userIAM_userAuth
.
Result
.
SUCCESS
)
{
console
.
info
(
"
cancel auth success
"
);
}
else
{
console
.
error
(
"
cancel auth fail
"
);
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录