IUserAuthInterface

概述

声明用户认证驱动的API接口。

Since:

3.2

Version:

1.0

所属模块:

HdfUserAuth

汇总

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) 查询用户凭据信息。
GetUserInfo ([in] int userId, [out] unsigned long secureUid, [out] enum PinSubType pinSubType, [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] unsigned char[] challenge, [in] unsigned int executorSensorHint, [out] struct ScheduleInfo scheduleInfo) 开始用户身份识别,并生成识别方案。
UpdateIdentificationResult([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct IdentifyResultInfo info) 更新用户身份识别结果,生成身份识别方案的结果。
CancelIdentification([in] unsigned long contextId) 取消用户身份识别请求。
GetAuthTrustLevel([in] GetUserInfoint 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) 获取指定认证结果可信等级下有效的认证方式。

成员函数说明

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] unsigned char[] challenge, [in] unsigned int executorSensorHint, [out] struct ScheduleInfo scheduleInfo)

描述:

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

参数:

名称 描述
contextId 上下文索引。
authType 用户身份识别类型AuthType
challenge 随机挑战值,用于生成用户身份识别令牌,防止重放。
executorSensorHint 执行器传感器提示,用于找到对应认证方式的传感器。
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 表示操作失败。

GetUserInfo()

IUserAuthInterface::GetUserInfo([in] int userId, [out] unsigned long secureUid, [out] enum PinSubType pinSubType, [out] struct EnrolledInfo[] infos)

描述:

查询用户认证相关信息。

参数:

名称 描述
userId 用户ID。
secureUid 安全用户ID。
pinSubType 口令认证子类型PinSubType
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] struct EnrollResultInfo info)

描述:

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

参数:

名称 描述
userId 用户ID。
scheduleResult 执行器签发的注册结果。
oldInfo 录入结果信息EnrollResultInfo

返回:

0 表示操作成功。

非0 表示操作失败。

UpdateIdentificationResult()

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

描述:

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

参数:

名称 描述
contextId 上下文索引。
scheduleResult 执行器签发的用户身份识别结果。
info 用户身份识别结果IdentifyResultInfo

返回:

0 表示操作成功。

非0 表示操作失败。