一,iOS客户端概述
iOS客户端包含接口以及人脸活体认证两大模块。人脸活体认证负责采集用户头像信息,仅供参考,不建议直接使用。客户可按示例代码方式替换为自有活体认证库。因此本文档不含活体认证模块说明。示例代码网络采用AFNetworking库,如有需要客户可自行导入。
二,接口使用说明
接口采用json格式传输,数据用AES128 CBC模式加密。AES密钥请参考管理系统的机构应用信息章节,其他参数设置见示例代码。目前接口仅有身份认证申请以及身份认证请求接口。
1, 身份认证申请对象如下:
```
@interface NLPCTIDGetBizSerialNumRequest : NLPCTIDBaseRequest
/**
认证模式,参考NLPCTIDSystemManager中NLPCTIDValidateModeType定义
*/
@property(nonatomic,strong) NSString *authMode;
@end
```
返回对象如下:
```
@interface NLPCTIDGetBizSerialNumModel : NSObject
/**
业务流水号
*/
@property (nonatomic, strong) NSString *bizSerialNum;
/**
随机码
*/
@property (nonatomic, strong) NSString *randNum;
@end
@interface NLPCTIDGetBizSerialNumResponse : NLPCTIDBaseResponse
@property (nonatomic, strong)NLPCTIDGetBizSerialNumModel *data;
@end
```
身份认证申请接口示例:
```
-(void)getValidateIdentityNumber:(NLPCTIDValidateIdentityRequest*)request{
NLPCTIDGetBizSerialNumRequest *bizRequest = [[NLPCTIDGetBizSerialNumRequest alloc]init];
bizRequest.authMode = request.authMode;
[NLPCTIDPlatfromIF getBizSerialNum:bizRequest completion:^(NLPCTIDGetBizSerialNumResponse *response, NSError *error) {
BOOL isSuccess;
NSString *codeMsg;
if([response isValidVResponse]){
self.vRequest.bizSerialNum = response.data.bizSerialNum;
[self startValidateIdentityRequest:self.vRequest];
isSuccess = YES;
codeMsg = @"";
return ;
}else if(response.msg){
isSuccess = NO;
codeMsg = response.msg;
}else{
isSuccess = NO;
codeMsg = error.domain;
}
[self callBackNlpCTIDFinishValidateIdentity:isSuccess errorMsg:codeMsg];
}];
}
```
2, 身份认证请求对象如下:
```
@interface NLPCTIDValidateIdentityRequest : NLPCTIDBaseRequest
/**
业务流水号(必填)
*/
@property (nonatomic, strong) NSString *bizSerialNum;
/**
认证模式(必填)
*/
@property(nonatomic,strong) NSString *authMode;
/**
待认证用户头像图片(选填)
*/
@property (nonatomic, strong) NSString *photoData;
/**
待认证用户姓名(选填)
*/
@property(nonatomic,strong) NSString *name;
/**
待认证用户身份证号码(选填)
*/
@property (nonatomic, strong) NSString *number;
/**
待认证用户身份证号码起始日期 按年月日格式如20150211 (选填)
*/
@property(nonatomic,strong) NSString *validDateStart;
/**
待认证用户身份证号码截止日期 按年月日格式如20150211 (选填)
*/
@property (nonatomic, strong) NSString *validDateEnd;
@end
```
返回对象如下:
```
@interface NLPCTIDValidateIdentityData :NSObject
/**
认证结果,认证通过为空
*/
@property(nonatomic,strong)NSString *authResult;
@end
@interface NLPCTIDValidateIdentityResponse : NLPCTIDBaseResponse
@property(nonatomic,strong)NLPCTIDValidateIdentityData *data;
@end
```
身份认证接口调用示例:
```
-(void)startValidateIdentityRequest:(NLPCTIDValidateIdentityRequest*)request{
[NLPCTIDPlatfromIF startCTIDValidateIdentity:request completion:^(NLPCTIDValidateIdentityResponse *response, NSError *error) {
BOOL isSuccess;
NSString *codeMsg;
if([response isValidVResponse]){
isSuccess = YES;
codeMsg = response.msg;
}else if(response.msg){
isSuccess = NO;
codeMsg = response.msg;
}else{
isSuccess = NO;
codeMsg = error.domain;
}
[self callBackNlpCTIDFinishValidateIdentity:isSuccess errorMsg:codeMsg];
}];
}
```
三,其他
示例代码未包含APP鉴权等模块,仅实现核心业务逻辑,客户可根据自身业务场景需要进行扩展。
- CTID身份认证服务能力接入文档
- 身份认证服务介绍
- 身份认证能力介绍
- 名词解释
- 产品定价
- 计费说明
- 接入集成介绍
- API接口列表
- 鉴权接口
- 身份认证接口
- 集成示例
- 集成示例总图
- 客户端加密方式接入示例
- 安卓客户端示例
- IOS客户端示例
- Java服务端示例
- PHP服务端示例
- 服务端加密接入方式示例
- Java服务端加密示例
- PHP服务端加密示例
- 管理系统介绍
- 登录
- 机构应用信息
- 身份验证日志
- 常见问题
- 客户端加密接入方式FAQ
- Android端FAQ
- IOS端FAQ
- JAVA服务端FAQ
- PHP服务端FAQ
- 服务端加密接入方式FAQ
- JAVA服务端加密FAQ
- PHP服务端加密FAQ
- 平台FAQ
- 服务端常见异常
- 资料下载
- 客户端加密接入方式DEMO源码
- 服务端加密接入方式DEMO源码