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