1# IUserAuthInterface 2 3 4## 概述 5 6声明用户认证驱动的API接口。 7 8**Since:** 93.2 10**Version:** 111.0 12**相关模块:** 13 14[HdfUserAuth](_hdf_user_auth.md) 15 16 17## 汇总 18 19 20### Public 成员函数 21 22 | 名称 | 描述 | 23| -------- | -------- | 24| [Init](#init) () | 初始化用户认证驱动缓存信息,用于用户认证框架进程启动时初始化信息。 | 25| [AddExecutor](#addexecutor) ([in] struct [ExecutorRegisterInfo](_executor_register_info.md) info, [out] unsigned long index, [out] unsigned char[] publicKey, [out] unsigned long[] templateIds) | 添加认证执行器来获取认证能力,用于各认证基础服务如口令认证服务等将认证能力对接到用户认证框架。 | 26| [DeleteExecutor](#deleteexecutor) ([in] unsigned long index) | 删除执行器,用于清理失效的执行器信息。 | 27| [OpenSession](#opensession) ([in] int userId, [out] unsigned char[] challenge) | 开启一个认证凭据管理会话,用于在请求管理用户认证凭据前获取有效挑战值。 | 28| [CloseSession](#closesession) ([in] int userId) | 关闭认证凭据管理会话,完成用户认证凭据管理请求处理后,调用该接口使原挑战值失效。 | 29| [BeginEnrollment](#beginenrollment) ([in] int userId, [in] unsigned char[] authToken, [in] struct [EnrollParam](_enroll_param.md) param, [out] struct [ScheduleInfo](_schedule_info.md) info) | 开始注册用户认证凭据。当注册凭据类型为口令且该用户已经注册了口令凭据时,将会更新口令凭据。 | 30| [UpdateEnrollmentResult](#updateenrollmentresult) ([in] int userId, [in] unsigned char[] scheduleResult, [out] struct [EnrollResultInfo](_enroll_result_info.md) info) | 更新用户凭据注册结果,完成凭据注册。 | 31| [CancelEnrollment](#cancelenrollment) ([in] int userId) | 取消注册请求。 | 32| [DeleteCredential](#deletecredential) ([in] int userId, [in] unsigned long credentialId, [in] unsigned char[] authToken, [out] struct [CredentialInfo](_credential_info.md) info) | 删除用户凭据信息。 | 33| [GetCredential](#getcredential) ([in] int userId, [in] enum [AuthType](_hdf_user_auth.md#authtype) authType, [out] struct [CredentialInfo](_credential_info.md)[] infos) | 查询用户凭据信息。 | 34| [GetUserInfo](#getuserinfo) ([in] int userId, [out] unsigned long secureUid, [out] enum [PinSubType](_hdf_user_auth.md#pinsubtype) pinSubType, [out] struct [EnrolledInfo](_enrolled_info.md)[] infos) | 查询用户认证相关信息。 | 35| [DeleteUser](#deleteuser) ([in] int userId, [in] unsigned char[] authToken, [out] struct [CredentialInfo](_credential_info.md)[] deletedInfos) | 删除用户口令认证凭据,在用户IAM系统内删除该用户,该请求由用户触发。 | 36| [EnforceDeleteUser](#enforcedeleteuser) ([in] int userId, [out] struct [CredentialInfo](_credential_info.md)[] deletedInfos) | 强制删除用户,该请求由系统内管理用户的模块触发。 | 37| [BeginAuthentication](#beginauthentication) ([in] unsigned long contextId, [in] struct [AuthSolution](_auth_solution.md) param, [out] struct [ScheduleInfo](_schedule_info.md)[] scheduleInfos) | 开始认证用户,并生成认证方案。 | 38| [UpdateAuthenticationResult](#updateauthenticationresult) ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct [AuthResultInfo](_auth_result_info.md) info) | 更新认证结果,评估认证方案的认证结果。 | 39| [CancelAuthentication](#cancelauthentication) ([in] unsigned long contextId) | 取消用户认证请求。 | 40| [BeginIdentification](#beginidentification) ([in] unsigned long contextId, [in] enum [AuthType](_hdf_user_auth.md#authtype) authType, [in] unsigned char[] challenge, [in] unsigned int executorSensorHint, [out] struct [ScheduleInfo](_schedule_info.md) scheduleInfo) | 开始用户身份识别,并生成识别方案。 | 41| [UpdateIdentificationResult](#updateidentificationresult) ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct [IdentifyResultInfo](_identify_result_info.md) info) | 更新用户身份识别结果,生成身份识别方案的结果。 | 42| [CancelIdentification](#cancelidentification) ([in] unsigned long contextId) | 取消用户身份识别请求。 | 43| [GetAuthTrustLevel](#getauthtrustlevel) ([in] int userId, [in] enum [AuthType](_hdf_user_auth.md#authtype) authType, [out] unsigned int authTrustLevel) | 获取当前认证类型的认证结果可信等级。 | 44| [GetValidSolution](#getvalidsolution) ([in] int userId, [in] enum [AuthType](_hdf_user_auth.md#authtype)[] authTypes, [in] unsigned int authTrustLevel, [out] enum [AuthType](_hdf_user_auth.md#authtype)[] validTypes) | 获取指定认证结果可信等级下有效的认证方式。 | 45 46 47## 成员函数说明 48 49 50### AddExecutor() 51 52 53``` 54IUserAuthInterface::AddExecutor ([in] struct ExecutorRegisterInfo info, [out] unsigned long index, [out] unsigned char[] publicKey, [out] unsigned long[] templateIds ) 55``` 56**描述:** 57添加认证执行器来获取认证能力,用于各认证基础服务如口令认证服务等将认证能力对接到用户认证框架。 58 59**参数:** 60 61 | 名称 | 描述 | 62| -------- | -------- | 63| info | 执行器注册信息[ExecutorRegisterInfo](_executor_register_info.md)。 | 64| index | 用户认证框架的执行器索引。 | 65| publicKey | 用户认证框架公钥。 | 66| templateIds | 该执行器已注册的模版ID列表。 | 67 68**返回:** 69 700 表示操作成功。 71 72非0 表示操作失败。 73 74 75### BeginAuthentication() 76 77 78``` 79IUserAuthInterface::BeginAuthentication ([in] unsigned long contextId, [in] struct AuthSolution param, [out] struct ScheduleInfo[] scheduleInfos ) 80``` 81**描述:** 82开始认证用户,并生成认证方案。 83 84**参数:** 85 86 | 名称 | 描述 | 87| -------- | -------- | 88| contextId | 上下文索引。 | 89| param | 认证方案[AuthSolution](_auth_solution.md)。 | 90| scheduleInfos | 调度信息[ScheduleInfo](_schedule_info.md)。 | 91 92**返回:** 93 940 表示操作成功。 95 96非0 表示操作失败。 97 98 99### BeginEnrollment() 100 101 102``` 103IUserAuthInterface::BeginEnrollment ([in] int userId, [in] unsigned char[] authToken, [in] struct EnrollParam param, [out] struct ScheduleInfo info ) 104``` 105**描述:** 106开始注册用户认证凭据。当注册凭据类型为口令且该用户已经注册了口令凭据时,将会更新口令凭据。 107 108**参数:** 109 110 | 名称 | 描述 | 111| -------- | -------- | 112| userId | 用户ID。 | 113| authToken | 用户口令认证令牌。 | 114| param | 注册凭据参数[EnrollParam](_enroll_param.md)。 | 115| info | 调度信息[ScheduleInfo](_schedule_info.md)。 | 116 117**返回:** 118 1190 表示操作成功。 120 121非0 表示操作失败。 122 123 124### BeginIdentification() 125 126 127``` 128IUserAuthInterface::BeginIdentification ([in] unsigned long contextId, [in] enum AuthType authType, [in] unsigned char[] challenge, [in] unsigned int executorSensorHint, [out] struct ScheduleInfo scheduleInfo ) 129``` 130**描述:** 131开始用户身份识别,并生成识别方案。 132 133**参数:** 134 135 | 名称 | 描述 | 136| -------- | -------- | 137| contextId | 上下文索引。 | 138| authType | 用户身份识别类型AuthType}。 | 139| challenge | 随机挑战值,用于生成用户身份识别令牌,防止重放。 | 140| executorSensorHint | 执行器传感器提示,用于找到对应认证方式的传感器。 | 141| scheduleInfo | 调度信息[ScheduleInfo](_schedule_info.md)。 | 142 143**返回:** 144 1450 表示操作成功。 146 147非0 表示操作失败。 148 149 150### CancelAuthentication() 151 152 153``` 154IUserAuthInterface::CancelAuthentication ([in] unsigned long contextId) 155``` 156**描述:** 157取消用户认证请求。 158 159**参数:** 160 161 | 名称 | 描述 | 162| -------- | -------- | 163| contextId | 上下文索引。 | 164 165**返回:** 166 1670 表示操作成功。 168 169非0 表示操作失败。 170 171 172### CancelEnrollment() 173 174 175``` 176IUserAuthInterface::CancelEnrollment ([in] int userId) 177``` 178**描述:** 179取消注册请求。 180 181**参数:** 182 183 | 名称 | 描述 | 184| -------- | -------- | 185| userId | 用户ID。 | 186 187**返回:** 188 1890 表示操作成功。 190 191非0 表示操作失败。 192 193 194### CancelIdentification() 195 196 197``` 198IUserAuthInterface::CancelIdentification ([in] unsigned long contextId) 199``` 200**描述:** 201取消用户身份识别请求。 202 203**参数:** 204 205 | 名称 | 描述 | 206| -------- | -------- | 207| contextId | 上下文索引。 | 208 209**返回:** 210 2110 表示操作成功。 212 213非0 表示操作失败。 214 215 216### CloseSession() 217 218 219``` 220IUserAuthInterface::CloseSession ([in] int userId) 221``` 222**描述:** 223关闭认证凭据管理会话,完成用户认证凭据管理请求处理后,调用该接口使原挑战值失效。 224 225**参数:** 226 227 | 名称 | 描述 | 228| -------- | -------- | 229| userId | 用户ID。 | 230 231**返回:** 232 2330 表示操作成功。 234 235非0 表示操作失败。 236 237 238### DeleteCredential() 239 240 241``` 242IUserAuthInterface::DeleteCredential ([in] int userId, [in] unsigned long credentialId, [in] unsigned char[] authToken, [out] struct CredentialInfo info ) 243``` 244**描述:** 245删除用户凭据信息。 246 247**参数:** 248 249 | 名称 | 描述 | 250| -------- | -------- | 251| userId | 用户ID。 | 252| credentialId | 凭据ID。 | 253| authToken | 用户口令认证令牌。 | 254| info | 删除的凭据信息[CredentialInfo](_credential_info.md)。 | 255 256**返回:** 257 2580 表示操作成功。 259 260非0 表示操作失败。 261 262 263### DeleteExecutor() 264 265 266``` 267IUserAuthInterface::DeleteExecutor ([in] unsigned long index) 268``` 269**描述:** 270删除执行器,用于清理失效的执行器信息。 271 272**参数:** 273 274 | 名称 | 描述 | 275| -------- | -------- | 276| index | 用户认证框架的执行器索引。 | 277 278**返回:** 279 2800 表示操作成功。 281 282非0 表示操作失败。 283 284 285### DeleteUser() 286 287 288``` 289IUserAuthInterface::DeleteUser ([in] int userId, [in] unsigned char[] authToken, [out] struct CredentialInfo[] deletedInfos ) 290``` 291**描述:** 292删除用户口令认证凭据,在用户IAM系统内删除该用户,该请求由用户触发。 293 294**参数:** 295 296 | 名称 | 描述 | 297| -------- | -------- | 298| userId | 用户ID。 | 299| authToken | 用户口令认证令牌。 | 300| deletedInfos | 删除的凭据信息[CredentialInfo](_credential_info.md)。 | 301 302**返回:** 303 3040 表示操作成功。 305 306非0 表示操作失败。 307 308 309### EnforceDeleteUser() 310 311 312``` 313IUserAuthInterface::EnforceDeleteUser ([in] int userId, [out] struct CredentialInfo[] deletedInfos ) 314``` 315**描述:** 316强制删除用户,该请求由系统内管理用户的模块触发。 317 318**参数:** 319 320 | 名称 | 描述 | 321| -------- | -------- | 322| userId | 用户ID。 | 323| deletedInfos | 删除的凭据信息[CredentialInfo](_credential_info.md)。 | 324 325**返回:** 326 3270 表示操作成功。 328 329非0 表示操作失败。 330 331 332### GetAuthTrustLevel() 333 334 335``` 336IUserAuthInterface::GetAuthTrustLevel ([in] int userId, [in] enum AuthType authType, [out] unsigned int authTrustLevel ) 337``` 338**描述:** 339获取当前认证类型的认证结果可信等级。 340 341**参数:** 342 343 | 名称 | 描述 | 344| -------- | -------- | 345| userId | 用户ID。 | 346| authType | 认证类型[AuthType](_hdf_user_auth.md#authtype)。 | 347| authTrustLevel | 认证结果可信等级。 | 348 349**返回:** 350 3510 表示操作成功。 352 353非0 表示操作失败。 354 355 356### GetCredential() 357 358 359``` 360IUserAuthInterface::GetCredential ([in] int userId, [in] enum AuthType authType, [out] struct CredentialInfo[] infos ) 361``` 362**描述:** 363查询用户凭据信息。 364 365**参数:** 366 367 | 名称 | 描述 | 368| -------- | -------- | 369| userId | 用户ID。 | 370| authType | 凭据类型[AuthType](_hdf_user_auth.md#authtype)。 | 371| infos | 凭据信息[CredentialInfo](_credential_info.md)。 | 372 373**返回:** 374 3750 表示操作成功。 376 377非0 表示操作失败。 378 379 380### GetUserInfo() 381 382 383``` 384IUserAuthInterface::GetUserInfo ([in] int userId, [out] unsigned long secureUid, [out] enum PinSubType pinSubType, [out] struct EnrolledInfo[] infos ) 385``` 386**描述:** 387查询用户认证相关信息。 388 389**参数:** 390 391 | 名称 | 描述 | 392| -------- | -------- | 393| userId | 用户ID。 | 394| secureUid | 安全用户ID。 | 395| pinSubType | 口令认证子类型[PinSubType](_hdf_user_auth.md#pinsubtype)。 | 396| infos | 注册信息[EnrolledInfo](_enrolled_info.md)。 | 397 398**返回:** 399 4000 表示操作成功。 401 402非0 表示操作失败。 403 404 405### GetValidSolution() 406 407 408``` 409IUserAuthInterface::GetValidSolution ([in] int userId, [in] enum AuthType[] authTypes, [in] unsigned int authTrustLevel, [out] enum AuthType[] validTypes ) 410``` 411**描述:** 412获取指定认证结果可信等级下有效的认证方式。 413 414**参数:** 415 416 | 名称 | 描述 | 417| -------- | -------- | 418| userId | 用户ID。 | 419| authTypes | 用于筛选的认证方式列表[AuthType](_hdf_user_auth.md#authtype)。 | 420| authTrustLevel | 认证结果可信等级。 | 421| validTypes | 有效的认证方式列表[AuthType](_hdf_user_auth.md#authtype)。 | 422 423**返回:** 424 4250 表示操作成功。 426 427非0 表示操作失败。 428 429 430### Init() 431 432 433``` 434IUserAuthInterface::Init () 435``` 436**描述:** 437初始化用户认证驱动缓存信息,用于用户认证框架进程启动时初始化信息。 438 439**返回:** 440 4410 表示操作成功。 442 443非0 表示操作失败。 444 445 446### OpenSession() 447 448 449``` 450IUserAuthInterface::OpenSession ([in] int userId, [out] unsigned char[] challenge ) 451``` 452**描述:** 453开启一个认证凭据管理会话,用于在请求管理用户认证凭据前获取有效挑战值。 454 455**参数:** 456 457 | 名称 | 描述 | 458| -------- | -------- | 459| userId | 用户ID。 | 460| challenge | 随机挑战值,用于生成用户身份认证令牌。 | 461 462**返回:** 463 4640 表示操作成功。 465 466非0 表示操作失败。 467 468 469### UpdateAuthenticationResult() 470 471 472``` 473IUserAuthInterface::UpdateAuthenticationResult ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct AuthResultInfo info ) 474``` 475**描述:** 476更新认证结果,评估认证方案的认证结果。 477 478**参数:** 479 480 | 名称 | 描述 | 481| -------- | -------- | 482| contextId | 上下文索引。 | 483| scheduleResult | 执行器签发的认证结果。 | 484| info | 认证结果信息[AuthResultInfo](_auth_result_info.md)。 | 485 486**返回:** 487 4880 表示操作成功。 489 490非0 表示操作失败。 491 492 493### UpdateEnrollmentResult() 494 495 496``` 497IUserAuthInterface::UpdateEnrollmentResult ([in] int userId, [in] unsigned char[] scheduleResult, [out] struct EnrollResultInfo info ) 498``` 499**描述:** 500更新用户凭据注册结果,完成凭据注册。 501 502**参数:** 503 504 | 名称 | 描述 | 505| -------- | -------- | 506| userId | 用户ID。 | 507| scheduleResult | 执行器签发的注册结果。 | 508| info | 录入结果信息[EnrollResultInfo](_enroll_result_info.md)。 | 509 510**返回:** 511 5120 表示操作成功。 513 514非0 表示操作失败。 515 516 517### UpdateIdentificationResult() 518 519 520``` 521IUserAuthInterface::UpdateIdentificationResult ([in] unsigned long contextId, [in] unsigned char[] scheduleResult, [out] struct IdentifyResultInfo info ) 522``` 523**描述:** 524更新用户身份识别结果,生成身份识别方案的结果。 525 526**参数:** 527 528 | 名称 | 描述 | 529| -------- | -------- | 530| contextId | 上下文索引。 | 531| scheduleResult | 执行器签发的用户身份识别结果。 | 532| info | 用户身份识别结果[IdentifyResultInfo](_identify_result_info.md)。 | 533 534**返回:** 535 5360 表示操作成功。 537 538非0 表示操作失败。 539