iOS开发-集成阿里云实人认证

阿里实人认证

前言:为了让会员快速实名认证,项目中集成了阿里云实人认证,采用的是RPBioOnly方案

  • 实人认证服务,用户流程为:仅活体检测;
  • 由服务端换取认证 Token,并通过Binding参数传入姓名、身份证号字段,可选传入身份证人像面照片、身份证国徽面照片字段,然后由无线 SDK 组织认证流程引导用户完成认证;
    适用于业务方在发起认证前已经采集了用户的姓名、身份证号等认证资料,希望使用实人认证服务完成用户人像照的采集,并与权威比对源校验资料的真实性。
  • 说明 此方案对于比对源信息老旧等情况的用户,若只传入姓名、身份证号,认证通过率会相对较低,通常不建议业务上只传入姓名、身份证号并将此方案作为唯一的认证途径。

这里有个注意事项:如果之前使用Cocopods集成了阿里云OSS上传照片,则需要在cocopods中删除掉,因为你申请阿里云实人认证的时候需要上传IPA包,绑定唯一BundleID,下载的SDK中已经包含了阿里云OSS,导致工程编译不通过。选择的实人认证方式不是前端,而是你上传IPA包的时候,在官网设置。

有个疑问:导入阿里云实人认证的SDK后,在模拟器中编译老是报下面的错,有朋友知道的,指导一波。

iOS开发-集成阿里云实人认证_第1张图片
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];
    

直接在回调里面操作就好了。
阿里云帮助中心

你可能感兴趣的:(iOS开发-集成阿里云实人认证)