• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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