iOS开发-集成阿里云实人认证
阿里实人认证
前言:为了让会员快速实名认证,项目中集成了阿里云实人认证,采用的是RPBioOnly
方案
- 实人认证服务,用户流程为:仅活体检测;
- 由服务端换取认证 Token,并通过Binding参数传入姓名、身份证号字段,可选传入身份证人像面照片、身份证国徽面照片字段,然后由无线 SDK 组织认证流程引导用户完成认证;
适用于业务方在发起认证前已经采集了用户的姓名、身份证号等认证资料,希望使用实人认证服务完成用户人像照的采集,并与权威比对源校验资料的真实性。 - 说明 此方案对于比对源信息老旧等情况的用户,若只传入姓名、身份证号,认证通过率会相对较低,通常不建议业务上只传入姓名、身份证号并将此方案作为唯一的认证途径。
这里有个注意事项:如果之前使用
Cocoapods
集成了阿里云OSS
上传照片,则需要在cocoapods
中删除掉,因为你申请阿里云实人认证的时候需要上传IPA
包,绑定唯一BundleID
,下载的SDK
中已经包含了阿里云OSS
,导致工程编译不通过。选择的实人认证方式不是前端,而是你上传IPA包的时候,在官网设置。
有个疑问:导入阿里云实人认证的
SDK
后,在模拟器中编译老是报下面的错,有朋友知道的,指导一波。
image.png
在阿里云后台上传对应IPA包后下载定制SDK导入iOS工程中
解压无线认证SDK后,将以下iOS的依赖包引入到您的应用工程中:
RPSDK.framework
FaceLivenessOpen.framework
SecurityGuardSDK.framework
SGMain.framework
SGSecurityBody.framework
AliyunOSSiOS.framework
WindVane.framework
WindVaneBasic.framework
WindVaneBridge.framework
WindVaneCore.framework
ZipArchive.framework
AliReachability.framework
确认您的工程中已引入以下实人认证服务需要的系统依赖:
CoreMedia.framework
CoreMotion.framework
CoreTelephony.framework
AVFoundation.framework
ImageIO.framework
MobileCoreServices.framework
MediaPlayer.framework
CoreLocation.framework
AddressBook.framework
AddressBookUI.framework
SystemConfiguration.framework
AudioToolbox.framework
AssetsLibrary.framework
Libresolv.tbd
WebKit.framework
Libiconv.tbd
Libc++.tbd
Libz.tbd
如果用模拟器测试则需要加入真机判断
#if TARGET_IPHONE_SIMULATOR // 实人认证不支持模拟器调试
#elif TARGET_OS_IPHONE // 真机
// 实人认证初始化
[RPSDK initialize:RPSDKEnvOnline];
// 进入认证
// [RPSDK start:rpCompleted:]
#endif
其他的就比较简单了
/** 调用阿里云实人认证 */
[RPSDK initialize:RPSDKEnvOnline]; //必须为RPSDKEnvOnline
[RPSDK start:verifyToken rpCompleted:^(RPVerifyState verifyState, NSString *code) {
NSLog(@"verifyResult = %ld",(unsigned long)verifyState);
if(verifyState == RPVerifyStatePass) { //认证通过。
[self commitResultData];
}
else if(verifyState == RPVerifyStateFail) { //认证不通过。
}
else if(verifyState == RPVerifyStateNotVerify) { //未认证,用户主动退出,或者姓名身份证号实名校验不匹配等原因,导致未完成认证流程。
}
}withVC:self.navigationController];
直接在回调里面操作就好了。
阿里云帮助中心