本机认证

最近更新时间:2020-06-10 21:07:47

目录

注:若只需集成本机认证功能,可删除掉 account_login_sdk_noui_core.frameworkaccount_login_sdk_noui_sdk.frameworkEAccountApiSDK.frameworkOneLoginResource.bundle

1、初始化

方法原型

/**
 Initializes and returns a newly allocated KOPManager object.

 @discussion Register customID from `console.ksyun.com`, and configure your verifyUrl
             API base on Server SDK. Check Docs on `docs.kingsoft.com`. If OnePass
             fail, KOPManager will request SMS URL that you set.
 @param customID custom ID, nonull
 @param timeout timeout interval
 @return A initialized GOPManager object.
 */
- (instancetype)initWithCustomID:(NSString * _Nonnull)customID timeout:(NSTimeInterval)timeout;

参数描述

参数 是否必填 类型 说明
initWithCustomID NSString 金山云 appID
timeout NSTimeInterval 请求超时

接口作用

传入金山云 appID,设置请求超时时长

使用场景

  • 保证在进行本机号码认证之前至少调用一次

示例代码

ObjC:

  1. 导入金山云 SDK 头文件 #import <KSCOneLoginSDK/KSCOneLoginSDK.h>
  2. 在进行本机号码认证之前,初始化,此处使用懒加载方式
- (KSCOPManager *)kopManager {
    if (!_kopManager) {
        _kopManager = [[KSCOPManager alloc] initWithCustomID:KSCOneLoginAppId timeout:10.f];
        _kopManager.delegate = self;
    }
    return _kopManager;
}

Swift:

  1. 创建混编桥接头文件并导入金山云 SDK 头文件 #import <KSCOneLoginSDK/KSCOneLoginSDK.h>
  2. 在进行本机号码认证之前,初始化,此处使用懒加载方式
private lazy var kopManager: KSCOPManager = {
    let manager = KSCOPManager.init(customID: KSCOneLoginAppId, timeout: 10.0)
    manager.delegate = self as KSCOPManagerDelegate
    return manager
}()

2、本机号码认证

方法原型

/**
 @param phoneNumber phone number
 */
- (void)verifyPhoneNumber:(NSString * _Nullable)phoneNumber;

参数描述

参数 是否必填 类型 说明
phoneNumber NSString 需进行认证的手机号码

接口作用

获取认证传入的手机号码是否为本机号码、是否与本机 SIM 卡一致(对于双卡手机,则认证是否为当前流量对应的本机号码)需要的 token,具体认证需调用服务端接口,传入该接口获取到的 token 进行验证

使用场景

  • 初始化之后调用
  • 输入手机号后进行认证

示例代码

ObjC:

  1. 导入金山云 SDK 头文件 #import <KSCOneLoginSDK/KSCOneLoginSDK.h>
  2. 进行本机号码认证
- (void)startOnePass {
    NSString *phoneNumber = self.phoneNumberTF.text;
    phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
    if ([self checkPhoneNumFormat:phoneNumber]) {
        [KSCProgressHUD showLoadingHUDWithMessage:nil];
        [self.kopManager verifyPhoneNumber:phoneNumber];
    } else {
        self.phoneNumberTF.text = nil;
        [self.phoneNumberTF gtm_shake:9 witheDelta:2.f speed:0.1 completion:nil];
        [KSCProgressHUD showToastWithMessage:@"不合法的手机号"];
    }
}

Swift:

  1. 创建混编桥接头文件并导入金山云 SDK 头文件 #import <KSCOneLoginSDK/KSCOneLoginSDK.h>
  2. 进行本机号码认证
func startOnepass() {
    var phoneNumber = self.phoneNumberTF.text
    phoneNumber = phoneNumber?.replacingOccurrences(of: " ", with: "")
    if self.checkPhoneNumFormat(phoneNumber) {
        KSCProgressHUD.showLoadingHUD(withMessage: nil)
        self.kopManager.verifyPhoneNumber(phoneNumber)
    } else {
        self.phoneNumberTF.text = nil
        self.phoneNumberTF.gtm_shake(9, witheDelta: 2.0, speed: 0.1, completion: nil)
        KSCProgressHUD.showToast(withMessage: "不合法的手机号")
    }
}

金山云,开启您的云计算之旅

免费注册