1# 保护需要用户认证的密码类数据
2
3> **说明:**
4>
5> 密码类数据可以是密码、登录令牌、信用卡号等用户敏感数据。
6
7## 场景描述
8
9用户在金融/银行类应用中查看银行卡号时,需要核实用户身份为持卡人本人。针对此种场景,应用可以将银行卡号存储到ASSET中,同时设置访问银行卡号需要用户身份认证。
10
11用户查看银行卡号时,应用请求用户进行身份认证(比如通过验证锁屏密码或生物特征),身份校验通过后,应用查询并向用户展示银行卡号,极大地提升了用户安全体验。
12
13## 关键流程
14
15业务调用ASSET保护需要用户认证的关键资产,可以参照以下流程进行开发。
16
17> **说明:**
18>
19> 由于统一用户认证(UserIAM)只提供ArkTS接口,故本场景只支持使用ArkTS语言开发。
20
21 ![](figures/flowchat-auth-required.png)
22
231. 业务查询符合条件的关键资产属性,根据查询成功/失败,判断关键资产是否存在。
24
25   开发步骤参考[查询关键资产](asset-js-query.md),代码示例参考[查询单条关键资产属性](asset-js-query.md#查询单条关键资产属性)。
262. 如果关键资产不存在,业务可选择:
27    * 新增关键资产,开发步骤参考[新增关键资产](asset-js-add.md)。
283. 如果关键资产存在,业务可选择:
29    * 删除关键资产,开发步骤参考[删除关键资产](asset-js-remove.md)。
30    * 更新关键资产,开发步骤参考[更新关键资产](asset-js-update.md)。
31    * 查询关键资产明文,开发步骤包括预处理、用户认证、查询明文、后置处理,参考[查询需要用户认证的关键资产](asset-js-query-auth.md)。
32