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