# IUserAuthInterface ## **概述** **所属模块:** [HdfUserAuth](_hdf_user_auth.md) ## **汇总** ## Public 成员函数

Public 成员函数

描述

Init ()

初始化用户认证驱动缓存信息,用于用户认证框架进程启动时初始化信息。 更多...

AddExecutor ([in] struct ExecutorRegisterInfo info, [out] unsigned long index, [out] unsigned char[] publicKey, [out] unsigned long[] templateIds)

添加认证执行器来获取认证能力,用于各认证基础服务如口令认证服务等将认证能力对接到用户认证框架。 更多...

DeleteExecutor ([in] unsigned long index)

删除执行器,用于清理失效的执行器信息。 更多...

OpenSession ([in] int userId, [out] unsigned char[] challenge)

开启一个认证凭据管理会话,用于在请求管理用户认证凭据前获取有效挑战值。 更多...

CloseSession ([in] int userId)

关闭认证凭据管理会话,完成用户认证凭据管理请求处理后,调用该接口使原挑战值失效。 更多...

BeginEnrollment ([in] int userId, [in] unsigned char[] authToken, [in] struct EnrollParam param, [out] struct ScheduleInfo info)

开始注册用户认证凭据。当注册凭据类型为口令且该用户已经注册了口令凭据时,将会更新口令凭据。 更多...

UpdateEnrollmentResult ([in] int userId, [in] unsigned char[] scheduleResult, [out] unsigned long credentialId, [out] struct CredentialInfo oldInfo)

更新用户凭据注册结果,完成凭据注册。 更多...

CancelEnrollment ([in] int userId)

取消注册请求。 更多...

DeleteCredential ([in] int userId, [in] unsigned long credentialId, [in] unsigned char[] authToken, [out] struct CredentialInfo info)

删除用户凭据信息。 更多...

GetCredential ([in] int userId, [in] enum AuthType authType, [out] struct CredentialInfo[] infos)

查询用户凭据信息。 更多...

GetSecureInfo ([in] int userId, [out] unsigned long secureUid, [out] struct EnrolledInfo[] infos)

查询用户安全信息。 更多...

DeleteUser ([in] int userId, [in] unsigned char[] authToken, [out] struct CredentialInfo[] deletedInfos)

删除用户口令认证凭据,在用户IAM系统内删除该用户,该请求由用户触发。 更多...

EnforceDeleteUser ([in] int userId, [out] struct CredentialInfo[] deletedInfos)

强制删除用户,该请求由系统内管理用户的模块触发。 更多...

BeginAuthentication ([in] unsigned long contextId, [in] struct AuthSolution param, [out] struct ScheduleInfo[] scheduleInfos)

开始认证用户,并生成认证方案。 更多...

UpdateAuthenticationResult ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct AuthResultInfo info)

更新认证结果,评估认证方案的认证结果。 更多...

CancelAuthentication ([in] unsigned long contextId)

取消用户认证请求。 更多...

BeginIdentification ([in] unsigned long contextId, [in] enum AuthType authType, [in] byte[] challenge, [in] unsigned int executorId, [out] struct ScheduleInfo scheduleInfo)

开始用户身份识别,并生成识别方案。 更多...

UpdateIdentificationResult ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct IdentifyResultInfo info)

更新用户身份识别结果,生成身份识别方案的结果 更多...

CancelIdentification ([in] unsigned long contextId)

取消用户身份识别请求。 更多...

GetAuthTrustLevel ([in] int userId, [in] enum AuthType authType, [out] unsigned int authTrustLevel)

获取当前认证类型的认证结果可信等级。 更多...

GetValidSolution ([in] int userId, [in] enum AuthType[] authTypes, [in] unsigned int authTrustLevel, [out] enum AuthType[] validTypes)

获取指定认证结果可信等级下有效的认证方式。 更多...

## **详细描述** 声明用户认证驱动的API接口。 **Since:** 3.2 **Version:** 1.0 ## **成员函数说明** ## AddExecutor\(\) ``` IUserAuthInterface::AddExecutor ([in] struct ExecutorRegisterInfo info, [out] unsigned long index, [out] unsigned char[] publicKey, [out] unsigned long[] templateIds ) ``` **描述:** 添加认证执行器来获取认证能力,用于各认证基础服务如口令认证服务等将认证能力对接到用户认证框架。 **参数:**

名称

描述

info

执行器注册信息ExecutorRegisterInfo

index

用户认证框架的执行器索引。

publicKey

用户认证框架公钥。

templateIds

该执行器已注册的模版ID列表。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## BeginAuthentication\(\) ``` IUserAuthInterface::BeginAuthentication ([in] unsigned long contextId, [in] struct AuthSolution param, [out] struct ScheduleInfo[] scheduleInfos ) ``` **描述:** 开始认证用户,并生成认证方案。 **参数:**

名称

描述

contextId

上下文索引。

param

认证方案AuthSolution

scheduleInfos

调度信息ScheduleInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## BeginEnrollment\(\) ``` IUserAuthInterface::BeginEnrollment ([in] int userId, [in] unsigned char[] authToken, [in] struct EnrollParam param, [out] struct ScheduleInfo info ) ``` **描述:** 开始注册用户认证凭据。当注册凭据类型为口令且该用户已经注册了口令凭据时,将会更新口令凭据。 **参数:**

名称

描述

userId

用户ID。

authToken

用户口令认证令牌。

param

注册凭据参数EnrollParam

info

调度信息ScheduleInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## BeginIdentification\(\) ``` IUserAuthInterface::BeginIdentification ([in] unsigned long contextId, [in] enum AuthType authType, [in] byte[] challenge, [in] unsigned int executorId, [out] struct ScheduleInfo scheduleInfo ) ``` **描述:** 开始用户身份识别,并生成识别方案。 **参数:**

名称

描述

contextId

上下文索引。

authType

用户身份识别类型AuthType}。

scheduleInfo

调度信息ScheduleInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## CancelAuthentication\(\) ``` IUserAuthInterface::CancelAuthentication ([in] unsigned long contextId) ``` **描述:** 取消用户认证请求。 **参数:**

名称

描述

contextId

上下文索引。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## CancelEnrollment\(\) ``` IUserAuthInterface::CancelEnrollment ([in] int userId) ``` **描述:** 取消注册请求。 **参数:**

名称

描述

userId

用户ID。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## CancelIdentification\(\) ``` IUserAuthInterface::CancelIdentification ([in] unsigned long contextId) ``` **描述:** 取消用户身份识别请求。 **参数:**

名称

描述

contextId

上下文索引。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## CloseSession\(\) ``` IUserAuthInterface::CloseSession ([in] int userId) ``` **描述:** 关闭认证凭据管理会话,完成用户认证凭据管理请求处理后,调用该接口使原挑战值失效。 **参数:**

名称

描述

userId

用户ID。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## DeleteCredential\(\) ``` IUserAuthInterface::DeleteCredential ([in] int userId, [in] unsigned long credentialId, [in] unsigned char[] authToken, [out] struct CredentialInfo info ) ``` **描述:** 删除用户凭据信息。 **参数:**

名称

描述

userId

用户ID。

credentialId

凭据ID。

authToken

用户口令认证令牌。

info

删除的凭据信息CredentialInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## DeleteExecutor\(\) ``` IUserAuthInterface::DeleteExecutor ([in] unsigned long index) ``` **描述:** 删除执行器,用于清理失效的执行器信息。 **参数:**

名称

描述

index

用户认证框架的执行器索引。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## DeleteUser\(\) ``` IUserAuthInterface::DeleteUser ([in] int userId, [in] unsigned char[] authToken, [out] struct CredentialInfo[] deletedInfos ) ``` **描述:** 删除用户口令认证凭据,在用户IAM系统内删除该用户,该请求由用户触发。 **参数:**

名称

描述

userId

用户ID。

authToken

用户口令认证令牌。

deletedInfos

删除的凭据信息CredentialInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## EnforceDeleteUser\(\) ``` IUserAuthInterface::EnforceDeleteUser ([in] int userId, [out] struct CredentialInfo[] deletedInfos ) ``` **描述:** 强制删除用户,该请求由系统内管理用户的模块触发。 **参数:**

名称

描述

userId

用户ID。

deletedInfos

删除的凭据信息CredentialInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## GetAuthTrustLevel\(\) ``` IUserAuthInterface::GetAuthTrustLevel ([in] int userId, [in] enum AuthType authType, [out] unsigned int authTrustLevel ) ``` **描述:** 获取当前认证类型的认证结果可信等级。 **参数:**

名称

描述

userId

用户ID。

authType

认证类型AuthType

authTrustLevel

认证结果可信等级。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## GetCredential\(\) ``` IUserAuthInterface::GetCredential ([in] int userId, [in] enum AuthType authType, [out] struct CredentialInfo[] infos ) ``` **描述:** 查询用户凭据信息。 **参数:**

名称

描述

userId

用户ID。

authType

凭据类型AuthType

infos

凭据信息CredentialInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## GetSecureInfo\(\) ``` IUserAuthInterface::GetSecureInfo ([in] int userId, [out] unsigned long secureUid, [out] struct EnrolledInfo[] infos ) ``` **描述:** 查询用户安全信息。 **参数:**

名称

描述

userId

用户ID。

secureUid

安全用户ID。

infos

注册信息EnrolledInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## GetValidSolution\(\) ``` IUserAuthInterface::GetValidSolution ([in] int userId, [in] enum AuthType[] authTypes, [in] unsigned int authTrustLevel, [out] enum AuthType[] validTypes ) ``` **描述:** 获取指定认证结果可信等级下有效的认证方式。 **参数:**

名称

描述

userId

用户ID。

authTypes

用于筛选的认证方式列表AuthType

authTrustLevel

认证结果可信等级。

validTypes

有效的认证方式列表AuthType

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## Init\(\) ``` IUserAuthInterface::Init () ``` **描述:** 初始化用户认证驱动缓存信息,用于用户认证框架进程启动时初始化信息。 **返回:** 0 表示操作成功。 非0 表示操作失败。 ## OpenSession\(\) ``` IUserAuthInterface::OpenSession ([in] int userId, [out] unsigned char[] challenge ) ``` **描述:** 开启一个认证凭据管理会话,用于在请求管理用户认证凭据前获取有效挑战值。 **参数:**

名称

描述

userId

用户ID。

challenge

随机挑战值,用于生成用户身份认证令牌。

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## UpdateAuthenticationResult\(\) ``` IUserAuthInterface::UpdateAuthenticationResult ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct AuthResultInfo info ) ``` **描述:** 更新认证结果,评估认证方案的认证结果。 **参数:**

名称

描述

contextId

上下文索引。

scheduleResult

执行器签发的认证结果。

info

认证结果信息AuthResultInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## UpdateEnrollmentResult\(\) ``` IUserAuthInterface::UpdateEnrollmentResult ([in] int userId, [in] unsigned char[] scheduleResult, [out] unsigned long credentialId, [out] struct CredentialInfo oldInfo ) ``` **描述:** 更新用户凭据注册结果,完成凭据注册。 **参数:**

名称

描述

userId

用户ID。

scheduleResult

执行器签发的注册结果。

credentialId

凭据ID。

oldInfo

已经删除的凭据信息CredentialInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。 ## UpdateIdentificationResult\(\) ``` IUserAuthInterface::UpdateIdentificationResult ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct IdentifyResultInfo info ) ``` **描述:** 更新用户身份识别结果,生成身份识别方案的结果 **参数:**

名称

描述

contextId

上下文索引。

scheduleResult

执行器签发的用户身份识别结果。

info

用户身份识别结果IdentifyResultInfo

**返回:** 0 表示操作成功。 非0 表示操作失败。