# 帐号子系统 - [简介](#section11660541593) - [组件架构图](#section1412183212132) - [目录](#section161941989596) - [说明](#section1312121216216) - [接口说明](#section1551164914237) - [相关仓](#section1371113476307) ## 简介 在标准系统上,帐号子系统主要提供系统帐号生命周期管理,分布式帐号登录状态管理和应用帐号添加删除等基础管理能力。 ## 架构图 **图 1** 帐号子系统架构图 ![](figures/zh-cn_image_account_struct.png) ## 目录 ``` /base/account/os_account ├── dfx │ ├── hidumper_adapter 系统服务信息导出适配器代码 │ ├── hisysevent_adapter 系统事件打点适配器代码 ├── figures README图片 ├── frameworks 帐号子系统kit代码 │ ├── account_iam 帐号身份认证和访问管理内部API代码 │ │ └── src 帐号身份认证和访问管理内部API实现代码 │ │ └── test 帐号身份认证和访问管理测试代码 │ ├── appaccount 应用帐号内部API代码 │ │ └── native 应用帐号内部API实现代码 │ ├── common 共通模块代码 │ │ ├── account_error 错误码 │ │ ├── database 数据库基础代码 │ │ ├── file_operator 文件操作代码 │ │ ├── log 打印日志代码 │ │ ├── perf_stat 性能统计 │ │ └── test 共通模块测试代码 │ ├── domain_account 域帐号内部API实现代码 │ │ ├── include 域帐号内部API头文件 │ │ ├── src 域帐号内部API实现代码 │ │ └── test 域帐号内部API测试代码 │ ├── ohosaccount 分布式帐号内部API代码 │ │ ├── native 分布式帐号内部API实现代码 │ │ └── test 分布式帐号内部API测试代码 │ └── osaccount 系统帐号内部API代码 │ ├── core 系统帐号ipc │ └── native 系统帐号内部API实现代码 ├── interfaces 帐号子系统对外公开的API │ ├── innerkits 内部API头文件 │ │ ├── account_iam 帐号身份认证和访问管理 │ │ ├── appaccount 应用帐号内部API头文件 │ │ ├── domain_account 域帐号内部API头文件 │ │ ├── ohosaccount 分布式帐号内部API头文件 │ │ └── osaccount 系统帐号内部API头文件 │ └── kits 对外API封装 │ └── napi 帐号子系统对外API封装代码 ├── sa_profile 帐号子系统SA配置文件定义目录 ├── services 帐号子系统accountmgr服务代码 │ └── accountmgr 帐号子系统服务代码 │ ├── include 帐号子系统服务代码头文件 │ ├── src 帐号子系统服务代码源文件 │ └── test 帐号子系统服务测试 ├── test 测试代码 │ ├── fuzztest 模糊测试代码 │ ├── resource 测试资源文件 │ └── systemtest 系统测试代码 └── tools acm工具代码 ├── acm acm工具代码 │ ├── include acm工具代码头文件 │ └── src acm工具代码源文件 └── test acm工具测试代码 ``` ## 说明 ### 接口说明 #### 1,分布式帐号 分布式帐号的功能主要包括查询和更新帐号登录状态,仅支持系统应用。 **表 1** 分布式帐号模块说明

模块名

描述

distributedAccount

提供分布式帐号模块管理方法

**表 2** 分布式帐号类说明

类名

描述

DistributedAccountAbility

提供查询和更新系统绑定的分布式帐号信息方法。

DistributedInfo

提供分布式帐号信息,包括分布式帐号ID、帐号名和登录状态,以及昵称、头像和自定义数据,可用于系统设备间认证、组网等场景。

**表 3** 分布式帐号模块方法说明

方法

描述。

function getDistributedAccountAbility(): DistributedAccountAbility

获取分布式帐号单实例对象。

**表 4** DistributedAccountAbility方法说明

方法

描述

queryOsAccountDistributedInfo(callback: AsyncCallback<DistributedInfo>): void;
queryOsAccountDistributedInfo(): Promise<DistributedInfo>;

查询当前系统帐号的分布式信息。

getOsAccountDistributedInfo(callback: AsyncCallback<DistributedInfo>): void;
getOsAccountDistributedInfo(): Promise<DistributedInfo>;

查询当前系统帐号的分布式信息。

getOsAccountDistributedInfoByLocalId(localId: number, callback: AsyncCallbackk<DistributedInfo>): void;
getOsAccountDistributedInfoByLocalId(localId: number): Promise<DistributedInfo>;

查询指定系统帐号的分布式信息。

updateOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCallback<void>): void;
updateOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise<void>;

更新当前系统帐号的分布式信息。

setOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCallback<void>): void;
setOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise<void>;

设置当前系统帐号的分布式信息。

setOsAccountDistributedInfoByLocalId(localId: number, distributedInfo: DistributedInfo, callback: AsyncCallback<void>): void;
setOsAccountDistributedInfoByLocalId(localId: number, distributedInfo: DistributedInfo): Promise<void>;

设置指定系统帐号的分布式信息。

#### 2,应用帐号 应用帐号的主要功能包括应用帐号的添加、删除,查询,修改,授权等功能,提供帐号数据落盘和数据同步的能力。 **表 1** 应用帐号模块说明

模块名

描述

appAccount

提供应用帐号模块管理方法。

**表 2** 应用帐号类说明

类名

描述

AppAccountManager

提供添加、删除,查询,修改,授权等应用帐号相关方法。

AppAccountInfo

提供应用帐号信息,包括应用帐号名称,所属包名等。

OAuthTokenInfo

提供应用帐号OAuth令牌信息,包括令牌的鉴权类型和取值。

AuthenticatorInfo

提供应用帐号OAuth认证器信息,包括所属包名、图标标识、标签标识等。

AuthenticatorCallback

提供鉴权结果通知、鉴权请求跳转等应用帐号OAuth认证器回调方法。

Authenticator

提供隐式添加帐号、鉴权等应用帐号OAuth认证器方法。

Constants

提供键名、操作名等常量。

ResultCode

提供应用帐号接口返回码。

SelectAccountsOptions

提供选项用于选择帐号。

VerifyCredentialOptions

提供选项用于验证凭据。

SetPropertiesOptions

提供选项用于设置属性。

**表 3** 应用帐号模块方法说明

方法

描述

function createAppAccountManager(): AppAccountManager

获取应用帐号单实例对象。

**表 4** AppAccountManager方法说明

方法

描述

addAccount(name: string, callback: AsyncCallback<void>): void;
addAccount(name: string, extraInfo: string, callback: AsyncCallback<void>): void;
addAccount(name: string, extraInfo?: string): Promise<void>;

添加应用帐号。

addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void;

隐式添加应用帐号。

deleteAccount(name: string, callback: AsyncCallback<void>): void;
disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void;
deleteAccount(name: string): Promise<void>;

删除应用帐号。

enableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void;
enableAppAccess(name: string, bundleName: string): Promise<void>;

应用帐号信息访问授权。

disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void;
disableAppAccess(name: string, bundleName: string): Promise<void>;

应用帐号信息访问取消授权。

checkAppAccess(name: string, bundleName: string, callback: AsyncCallback>boolean>): void;
checkAppAccess(name: string, bundleName: string): Promise>boolean>;

检查应用帐号信息访问授权。

checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void;
checkAppAccountSyncEnable(name: string): Promise<boolean>;

检查应用帐号同步状态。

setAccountCredential(name: string, credentialType: string, credential: string, callback: AsyncCallback<void>): void;
setAccountCredential(name: string, credentialType: string, credential: string): Promise<void>;

设置应用帐号认证信息。

deleteAccountCredential(name: string, credentialType: string, callback: AsyncCallback<void>): void;
deleteAccountCredential(name: string, credentialType: string): Promise<void>;

删除应用帐号认证信息。

setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback<void>): void;
setAccountExtraInfo(name: string, extraInfo: string): Promise<void>;

设置应用帐号附加信息。

setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback<void>): void;
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise<void>;

设置应用帐号同步状态。

setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback<void>): void;
setAssociatedData(name: string, key: string, value: string): Promise<void>;

设置应用帐号关联数据。

getAllAccounts(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void;
getAllAccounts(owner: string): Promise<Array<AppAccountInfo>>;

查询指定包名下应用帐号信息。

getAllAccessibleAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void;
getAllAccessibleAccounts(): Promise<Array<AppAccountInfo>>;

查询指定包名下应用帐号信息。

getAccountCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void;
getAccountCredential(name: string, credentialType: string): Promise<string>;

查询应用帐号认证信息。

getAccountExtraInfo(name: string, callback: AsyncCallback<string>): void;
getAccountExtraInfo(name: string): Promise<string>;

查询应用帐号附加信息。

getAssociatedData(name: string, key: string, callback: AsyncCallback<string>): void;
getAssociatedData(name: string, key: string): Promise<string>;

查询应用帐号关联信息。

getAssociatedDataSync(name: string, key: string): string;

同步获取与指定帐户关联的数据。

on(type: 'change', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void;

订阅应用帐号信息变化。

off(type: 'change', callback?: Callback<void>): void;

取消订阅应用帐号信息变化。

authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void;

鉴权应用帐号以获取OAuth令牌。

getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void;
getOAuthToken(name: string, owner: string, authType: string): Promise<string>;

查询应用帐号OAuth令牌。

setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void;
setOAuthToken(name: string, authType: string, token: string): Promise<void>;

设置应用帐号OAuth令牌。

deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void;
deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise<void>;

删除应用帐号OAuth令牌。

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void;
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void>;

设置应用帐号OAuth令牌的可见性。

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void;
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean>;

检查应用帐号OAuth令牌的可见性。

getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<OAuthTokenInfo>>): void;
getAllOAuthTokens(name: string, owner: string): Promise<Array<OAuthTokenInfo>>;

查询所有可见的应用帐号OAuth令牌。

getOAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void;
getOAuthList(name: string, authType: string): Promise<Array<string>>;

查询应用帐号OAuth令牌的授权列表。

getAuthenticatorCallback(sessionId: string, callback: AsyncCallback<AuthenticatorCallback>): void;
getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback>;

查询应用帐号OAuth认证器回调。

getAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void;
getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>;

查询应用帐号OAuth认证器信息。

checkAccountLabels(name: string, owner: string, labels: Array<string>, callback: AsyncCallback<boolean>): void;
checkAccountLabels(name: string, owner: string, labels: Array<string>): Promise<boolean>;

检查帐号标签。

selectAccountsByOptions(options: SelectAccountsOptions, callback: AsyncCallback<Array<AppAccountInfo>>);
selectAccountsByOptions(options: SelectAccountsOptions): Promise<Array<AppAccountInfo>>;

根据选项选择帐号。

verifyCredential(name: string, owner: string, callback: AuthenticatorCallback): void;
verifyCredential(name: string, owner: string, options: VerifyCredentialOptions, callback: AuthenticatorCallback): void;

根据选项验证凭据。

setAuthenticatorProperties(owner: string, callback: AuthenticatorCallback): void;
setAuthenticatorProperties(owner: string, options: SetPropertiesOptions, callback: AuthenticatorCallback): void;

设置认证器属性。

**表 5** AuthenticatorCallback方法说明

方法

描述

onResult: (code: number, result: {[key: string]: any}) => void;

向客户端通知认证结果。

onRequestRedirected: (request: Want) => void;

通知客户端需要重定向身份验证请求。

onRequestContinued?: () => void;

通知客户端请求继续。

**表 6** Authenticator方法说明

方法

描述

addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void;

隐式添加应用帐号。

authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void;

鉴权应用帐号以获取OAuth令牌。

verifyCredential(name: string, options: VerifyCredentialOptions, callback: AuthenticatorCallback): void;

根据选项验证凭据。

setProperties(options: SetPropertiesOptions, callback: AuthenticatorCallback): void;

设置验证器的属性。

checkAccountLabels(name: string, labels: Array, callback: AuthenticatorCallback): void;

检查帐号标签。

isAccountRemovable(name: string, callback: AuthenticatorCallback): void;

检查是否可以删除指定的帐户。

getRemoteObject(): rpc.RemoteObject;

获取远程过程调用的身份验证程序的远程对象。

#### 3,系统帐号 系统帐号的主要功能包括系统帐号的添加、删除,查询,设置,订阅,启动等功能,提供系统帐号数据落盘的能力。 **表 1** 系统帐号模块说明

模块名

描述

osAccount

提供系统帐号模块管理方法。

**表 2** 系统帐号类说明

类名

描述

AccountManager

提供添加、删除,查询,设置,订阅,启动系统帐号等相关方法。

UserAuth

提供构造、获取版本号、获取有效状态、获取属性、设置属性、认证、用户认证和取消认证方法。

PINAuth

提供PIN码输入器的构造、注册和卸载的方法。

InputerManager

提供认证凭据输入器注册和卸载的方法。

UserIdentityManager

提供构造、打开会话、添加凭据、更新凭据、关闭会话、取消条目、删除用户、删除凭证和获取认证信息方法。

IInputData

提供密码数据回调。

IInputer

提供密码输入框回调。

IUserAuthCallback

提供用户认证回调。

IIdmCallback

提供身份管理回调。

GetPropertyRequest

提供获取属性请求的信息,包括身份验证凭据类型和要获取的属性类型数组。

SetPropertyRequest

提供设置属性请求的信息,包括身份验证凭据类型、指示要设置的属性类型和指示要设置的信息。

ExecutorProperty

提供执行器的属性,包括结果、认证凭据子类型、剩余时间和冻结时间。

AuthResult

提供认证结果的信息,包括认证令牌、剩余时间和冻结时间。

CredentialInfo

提供凭证信息,包括认证凭据类型、认证凭据子类型和认证令牌。

RequestResult

提供请求结果的信息,包括凭据索引。

EnrolledCredInfo

提供已注册凭据的信息,包括凭据索引、认证凭据类型、认证凭据子类型和凭据模板ID。

GetPropertyType

提供要获取的属性类型,包括认证子类型、剩余时间和冻结时间。

SetPropertyType

提供要设置的属性类型,为初始化算法。

AuthType

提供身份验证的凭据类型,包括PIN认证类型和面部认证类型。

AuthSubType

提供用于认证的凭据子类型,包括5位凭证、自定义数字凭证、自定义混合凭证、2D面容凭证和3D面容凭证类型。

AuthTrustLevel

提供认证结果的受信任级别,包括等级1至等级4。

Module

提供获取信息的模块。

ResultCode

提供身份验证的结果代码。

FaceTipsCode

提供人脸验证过程中的提示代码。

FingerprintTips8

提供指纹身份验证过程中的提示代码。

OsAccountInfo

提供系统帐号信息,包括系统帐号名称,ID等属性。

DomainAccountInfo

提供域帐号信息,包括域名,域帐号名等属性。

OsAccountType

提供系统帐号类型,包括管理员,普通,访客等类型。

ConstraintSourceType

系统帐号约束来源类型,包括约束不存在,约束来自系统,约束来自设备所有者以及约束来自资料所有者。

ConstraintSourceTypeInfo

提供系统帐号约束来源信息,包括设置约束的系统帐号ID和约束来源类型。

GetDomainAccessTokenOptions

提供获取域访问令牌的选项。

DomainPlugin

提供域帐号认证、合法性检查、绑定、解绑和域访问令牌查询等插件接口。

DomainAccountManager

提供域插件管理、域帐号认证和合法性检查等接口。

**表 3** 系统帐号模块方法说明

方法

描述

function getAccountManager(): AccountManager

获取系统帐号单实例对象。

**表 4** AccountManager方法说明

方法

描述

activateOsAccount(localId: number, callback: AsyncCallback<void>): void;
activateOsAccount(localId: number): Promise<void>;

激活指定系统帐号。

isMultiOsAccountEnable(callback: AsyncCallback<boolean>): void;
isMultiOsAccountEnable(): Promise<boolean>;

判断是否支持多系统帐号。

isOsAccountActived(localId: number, callback: AsyncCallback<boolean>): void;
isOsAccountActived(localId: number): Promise<boolean>;

判断指定系统帐号是否处于激活状态。

isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback<boolean>): void;
isOsAccountConstraintEnable(localId: number, constraint: string): Promise<boolean>;

判断指定系统帐号是否具有指定约束。

isTestOsAccount(callback: AsyncCallback<boolean>): void;
isTestOsAccount(): Promise<boolean>;

检查当前系统帐号是否为测试帐号。

isOsAccountVerified(callback: AsyncCallback<boolean>): void;
isOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void;

检查当前系统帐号是否已验证。

isOsAccountVerified(localId?: number): Promise<boolean>;

检查指定系统帐号是否已验证。

removeOsAccount(localId: number, callback: AsyncCallback<void>): void;
removeOsAccount(localId: number): Promise<void>;

删除指定系统帐号。

setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean, callback: AsyncCallback<void>): void;
setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean): Promise<void>;

为指定系统帐号设置/删除约束。

setOsAccountName(localId: number, localName: string, callback: AsyncCallback<void>): void;
setOsAccountName(localId: number, localName: string): Promise<void>;

设置指定系统帐号的帐号名。

getCreatedOsAccountsCount(callback: AsyncCallback<number>): void;
getCreatedOsAccountsCount(): Promise<number>;

获取已创建的系统帐号数量。

getOsAccountLocalIdFromProcess(callback: AsyncCallback<number>): void;
getOsAccountLocalIdFromProcess(): Promise<number>;

获取当前进程所属的系统帐号的帐号ID。

getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback<number>): void;
getOsAccountLocalIdFromUid(uid: number): Promise<number>;

从进程uid中获取该uid所属的系统帐号的帐号ID。

getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback<number>): void;
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise<number>;

根据域帐号信息,获取与其关联的系统帐号的帐号ID。

queryMaxOsAccountNumber(callback: AsyncCallback<number>): void;
queryMaxOsAccountNumber(): Promise<number>;

查询允许创建的系统帐号的最大数量。

getOsAccountAllConstraints(localId: number, callback: AsyncCallback<Array<string>>): void;
getOsAccountAllConstraints(localId: number): Promise<Array<string>>;

获取指定系统帐号的全部约束。

queryAllCreatedOsAccounts(callback: AsyncCallback<Array<OsAccountInfo>>): void;
queryAllCreatedOsAccounts(): Promise<Array<OsAccountInfo>>;

查询已创建的所有系统帐号的信息列表。

queryActivatedOsAccountIds(callback: AsyncCallback<Array<number>>): void;
queryActivatedOsAccountIds(): Promise<Array<number>>;

查询当前处于激活状态的系统帐号的ID列表。

createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback<OsAccountInfo>): void;
createOsAccount(localName: string, type: OsAccountType): Promise<OsAccountInfo>;

创建一个系统帐号。

createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>): void;
createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo>;

根据域帐号信息,创建一个系统帐号并将其与域帐号关联。

queryCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void;
queryCurrentOsAccount(): Promise<OsAccountInfo>;

查询当前进程所属的系统帐号的信息。

queryOsAccountById(localId: number, callback: AsyncCallback<OsAccountInfo>): void;
queryOsAccountById(localId: number): Promise<OsAccountInfo>;

查询指定系统帐号的信息。

getOsAccountTypeFromProcess(callback: AsyncCallback<OsAccountType>): void;
getOsAccountTypeFromProcess(): Promise<OsAccountType>;

查询当前进程所属的系统帐号的帐号类型。

getDistributedVirtualDeviceId(callback: AsyncCallback<string>): void;
getDistributedVirtualDeviceId(): Promise<string>;

获取分布式虚拟设备ID。

getOsAccountProfilePhoto(localId: number, callback: AsyncCallback<string>): void;
getOsAccountProfilePhoto(localId: number): Promise<string>;

获取指定系统帐号的头像信息。

setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback<void>): void;
setOsAccountProfilePhoto(localId: number, photo: string): Promise<void>;

为指定系统帐号设置头像信息。

getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback<number>): void;
getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise<number>;

通过SN码查询与其关联的系统帐号的帐号ID。

getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback<number>): void;
getSerialNumberByOsAccountLocalId(localId: number): Promise<number>;

通过系统帐号ID获取与该系统帐号关联的SN码。

on(type: 'activate' | 'activating', name: string, callback: Callback<number>): void;

订阅系统帐号的变动信息。

off(type: 'activate' | 'activating', name: string, callback?: Callback<number>): void;

取消订阅系统帐号的变动信息。

getBundleIdFromUid(uid: number, callback: AsyncCallback<number>): void;
getBundleIdFromUid(uid: number): Promise<number>;

通过uid获取对应bundleId。

isMainOsAccount(callback: AsyncCallback<boolean>): void;
isMainOsAccount(): Promise<boolean>;

判断当前进程是否处于主用户。

queryOsAccountConstraintSourceTypes(localId: number, constraint: string, callback: AsyncCallback<Array<ConstraintSourceTypeInfo>>): void;
queryOsAccountConstraintSourceTypes(localId: number, constraint: string): Promise<Array<ConstraintSourceTypeInfo>>;

查询指定系统帐号的指定约束的来源信息。

**表 5** UserAuth方法说明

方法

描述

constructor();

创建用户认证的实例。

getVersion(): number;

返回版本信息。

getAvailableStatus(authType: AuthType, authTrustLevel: AuthTrustLevel): number;

检查身份认证功能是否可用。

getProperty(request: GetPropertyRequest, callback: AsyncCallback<ExecutorProperty>): void;
getProperty(request: GetPropertyRequest): Promise;

基于指定的请求信息获取属性,使用回调异步返回结果。

setProperty(request: SetPropertyRequest, callback: AsyncCallback): void;
setProperty(request: SetPropertyRequest): Promise;

设置可用于初始化算法的属性,使用回调异步返回结果。

auth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

执行认证,使用callback回调异步返回结果。

authUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

执行用户认证,使用callback回调异步返回结果。

cancelAuth(contextID: Uint8Array): number;

取消特定的认证。

**表 6** PINAuth方法说明

方法

描述

constructor();

创建Pin码认证的实例。

registerInputer(inputer: IInputer): void;

注册Pin码输入器。

unregisterInputer(): void;

卸载Pin码输入器。

**表 7** InputerManager方法说明

方法

描述

registerInputer(authType: AuthType, inputer: IInputer): void;

注册认证凭据输入器。

unregisterInputer(authType: AuthType): void;

卸载认证凭据输入器。

**表 8** UserIdentityManager方法说明

方法

描述

constructor();

创建用户身份管理的实例。

openSession(callback: AsyncCallback<Uint8Array>): void;
openSession(): Promise;

打开会话,启动IDM操作以获取挑战值,使用回调异步返回结果。

addCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息,使用callback回调异步返回结果。

updateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

更新凭据,使用callback回调异步返回结果。

closeSession(): void;

关闭会话,结束IDM操作。

cancel(challenge: Uint8Array): number;

根据挑战值取消条目。

delUser(token: Uint8Array, callback: IIdmCallback): void;

删除具有身份验证令牌的用户,使用callback方式异步返回结果。

delCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void;

删除用户凭据信息,使用callback方式异步返回结果。

getAuthInfo(callback: AsyncCallback<Array<EnrolledCredInfo>>): void;
getAuthInfo(authType: AuthType, callback: AsyncCallback<Array<EnrolledCredInfo>>): void;
getAuthInfo(authType?: AuthType): Promise<Array<EnrolledCredInfo>>;

获取认证信息,使用回调异步返回结果。

**表 9** IInputData方法说明

方法

描述

onSetData: (pinSubType: AuthSubType, data: Uint8Array) => void;

通知设置数据。

**表 10** IInputer方法说明

方法

描述

onGetData: (callback: IInputData) => void;

通知获取数据。

**表 11** IUserAuthCallback方法说明

方法

描述

onResult: (result: number, extraInfo: AuthResult) => void;

用户身份认证结果代码通过回调返回,可能包含令牌,剩余时间和冻结时间3种信息值。

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

在身份验证期间,TipsCode值通过回调返回,TipsCode为人脸认证过程中的提示码。

**表 12** IIdmCallback方法说明

方法

描述

onResult: (result: number, extraInfo: AuthResult) => void;

身份管理结果代码通过回调返回,可能包含凭证索引。

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

在身份验证期间,TipsCode通过回调返回,TipsCode为人脸认证过程中的提示码。

**表 13** DomainPlugin方法说明

方法

描述

auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void;

使用凭据认证指定的域帐号。

authWithPopup(domainAccountInfo: DomainAccountInfo, callback: IUserAuthCallback): void;

弹窗认证指定的域帐号。

authWithToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: IUserAuthCallback): void;

使用本地身份认证令牌关联认证指定的域帐号。

getAccountInfo(domain: string, accountName: string, callback: AsyncCallback): void;

根据域和帐号名获取域帐号信息。

getAuthStatusInfo(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback): void;

获取指定域帐号的认证状态信息。

bindAccount(domainAccountInfo: DomainAccountInfo, localId: number, callback: AsyncCallback): void;

绑定指定的域帐号。

bindAccount(domainAccountInfo: DomainAccountInfo, localId: number, callback: AsyncCallback): void;

解绑指定的域帐号。

isAccountTokenValid(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: AsyncCallback): void;

判断指定域帐号的令牌是否有效。

getAccessToken(options: GetDomainAccessTokenOptions, callback: AsyncCallback): void;

获取指定域帐号的域访问令牌。

**表 14** DomainAccountManager方法说明

方法

描述

static registerPlugin(plugin: DomainPlugin): void;

注册域插件。

static unregisterPlugin(): void;

解注册域插件。

static auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void;

使用凭据认证指定的域帐号。

static authWithPopup(callback: IUserAuthCallback): void;

弹窗认证当前系统帐号绑定的域帐号。

static authWithPopup(localId: number, callback: IUserAuthCallback): void;

弹窗认证指定系统帐号绑定的域帐号。

static hasAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback): void;

判断指定的域帐号是否存在。

static updateAccountToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: AsyncCallback): void;

更新指定域帐号的令牌。

## 相关仓 帐号子系统 **account\_os\_account**