全部产品
阿里云办公

IOS SDK API

更新时间:2018-07-17 23:48:05

数据风控-iOS SDK API

验证类型定义

MSAuthDefines.h

  1. /**
  2. * 当前支持的验证类型:目前支持的类型有滑动验证,即将会有更多验证方式加入
  3. */
  4. typedef enum : NSUInteger {
  5. MSAuthTypeSlide
  6. } MSAuthType;

启动验证

  1. /**
  2. * 验证VC的工厂方法, 使用风险验证用户直接调用这个接口
  3. * @param type 验证类型。目前支持的类型有滑动验证,即将会有更多验证方式加入
  4. * @param language 需要展示的语言,如:zh_CN 简体中文, en 英文。nil为当前环境。如果语言包不存在显示英文
  5. * @param delegate 处理回调结果的代理
  6. * @return 返回一个实例VC
  7. */
  8. + (UIViewController *)simapleVerifyWithType:(MSAuthType)type
  9. language:(NSString*)lang
  10. Delegate:(id<MSAuthProtocol>)delegate;

验证结果回调

用户通过回调函数关闭controller,sdk内部不会关闭此控件。

  1. typedef enum {
  2. VERIFY_REUSLT_OK = 0,
  3. VERIFY_REUSLT_FAIL = 1
  4. }t_verify_reuslt
  1. @protocol MSAuthProtocol <NSObject>
  2. /**
  3. * 验证结果的回调
  4. *
  5. * @param error 验证错误返回码, nil表示正确 非空为验证失败
  6. * @param sessionId 聚安全服务器下发二次验证sessionid,
  7. * 三方服务器利用token获得验证结果
  8. */
  9. - (void)verifyDidFinishedWithResult:(t_verify_reuslt)code
  10. Error:(NSError *)error
  11. SessionId:(NSString *)sessionId;
  12. @end

参数error对象 ErrorDomain详细定义:

含义
AliAuthGeneric 一般性错误来自网络异常
AliAuthServer 网关通信错误
AliAuthServiceNc 滑动业务错误
AliAuthService 验证业务错误

使用验证码示例代码

Step 0: 引入头文件

  1. #import <MSAuthSDK/MSAuthSDK.h>

Step 1: 调用工厂类生成所需二次验证 viewcontroller

  1. UIViewController *vc = [MSAuthVCFactory simapleVerifyWithType:服务器回传的验证类型
  2. language:@"zh_CN"
  3. Delegate:self];
  4. [self.navigationController pushViewController:vc animated:YES];

Step 2: 实现delegate回调

  1. @interface ViewController () <MSAuthProtocol>
  2. ...
  3. #pragma mark - MSAuthProtocol methods
  4. - (void)verifyDidFinishedWithError:(NSError *)error SessionId:(NSString *)sessionId {
  5. dispatch_async(dispatch_get_main_queue(), ^{
  6. if (error) {
  7. NSLog(@"验证失败 %@", error);
  8. } else {
  9. NSLog(@"验证通过 %@", sessionId);
  10. }
  11. [self.navigationController popViewControllerAnimated:YES];
  12. //将sessionid传到经过app服务器做二次验证
  13. });
  14. }

Step 3:sessionid 验证
具体调用参看 API概览-验证码服务API

错误处理

1.如看到以下报错:
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.
SG ERROR: 1210

你需要在info.plist中设置

  1. <key>NSAppTransportSecurity</key>
  2. <dict>
  3. <key>NSAllowsArbitraryLoads</key><true/>
  4. </dict>