凭据可用于认证用户的身份,本文档将介绍如何录入、认证、更新、查询和删除指定系统帐号的凭据。
凭据类型
系统帐号支持管理以下凭据类型:
凭据子类型
凭据类型进一步细分为以下子类型:
备注:实际设备可支持的凭据类型取决于硬件能力。
开发准备
1.申请权限,申请流程请参考:申请应用权限。
- ohos.permission.MANAGE_USER_IDM
- ohos.permission.ACCESS_PIN_AUTH
2.导入系统帐号模块。
import account_osAccount from '@ohos.account.osAccount';
3.创建凭据管理对象。
let userIDM: account_osAccount.UserIDM = new account_osAccount.UserIDM();
注册PIN码输入器
输入器用于传递PIN码数据,录入、认证PIN码前需要先注册输入器。
具体开发实例如下:
1.定义PIN码输入器,并获取PIN码。
let pinData: Uint8Array = new Uint8Array([31, 32, 33, 34, 35, 36]); // you can obtain a PIN throught other ways.
let inputer: IInputer = {
onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
callback.onSetData(authSubType, pinData);
}
}
2.调用registerInputer注册PIN码输入器。
let pinAuth: PINAuth = new account_osAccount.PINAuth();
pinAuth.registerInputer(inputer);
打开会话
在进行凭据管理前,请先打开一个新的会话。开发者可以使用openSession接口完成此操作。
具体开发实例如下:
1.调用openSession接口打开凭据管理新会话。
let challenge: Uint8Array = await userIDM.openSession();
录入PIN码
前述操作完成后,可以进行PIN码录入。开发者可以使用addCredential接口完成此操作。
具体开发实例如下:
1.定义PIN码凭据信息。
let credentialInfo: account_osAccount.CredentialInfo = {
credType: account_osAccount.AuthSubType.PIN,
token: null
};
2.调用addCredential接口添加指定的凭据信息,执行结果通过回调获取。
userIDM.addCredential(credentialInfo, {
onResult: (code: number, result: account_osAccount.RequestResult) => {
console.log(