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