一登人脸登陆(手把手教)

一登开发者中心

一共7步

<1>.下载一登SDK
<2>.填写信息
<3>.导入SDK
<4>.配置SDK
<5>.初始化SDK
<6>.调用登陆接口
<7>.完成

1.下载一登SDK

(1).github下载
(2).我的云盘

2.填写下面的信息(这里的填写会影响下面的5.2内容 )

一登的信息填写

3.导入SDK

方法1:(整个SDK全拖进工程)
将 SDK 文件夹拖拽到 Xcode 工程目录结构中。在弹出的界面中勾选Copy items if needed, 并确保Add to targets勾选对应的 target。

方法2:
使用 Cocoapods 安装 SDK
Cocoapods 安装完成后,在你的项目根目录创建一个 Podfile 文件,添加如下内容:

 pod "SuperID"

执行pod install将会安装最新版本的一登 SDK

4. 配置 SDK

  • 1.添加-ObjC、-lstdc++编译选项。方法如下:Xcodeproj->Build Settings->Linking->Other Linker Flags,在 Other Linker Flags 选项中,双击该选项,点击弹出框左下⾓的 + 按钮,分别添加-ObjC 字符和 -lstdc++ 字符。

    添加-ObjC参数后链接器可以把静态库中所有的 Objective-C 类和分类都加载到最后的可执 行文件中。 添加 -lstdc++ 参数是由于一登 SDK 的静态库中需要 c++ 标准库支持。


    2974DCF1-36BA-4C5F-BE79-302A43ED6538.png

如果你使用 Cocoapods 安装 SDK,可跳过此步骤。

  • 2.如果使用的开发工具是 Xcode 7.0 以上版本,需要手动关闭 Bitcode。

方法为:Xcodeproj->Build Settings->Enable Bitcode 设置为 NO。

设置为NO

5. 初始化 SDK

  • 5.1.首先:在AppDelegate.m文件中,导入 SuperID SDK。

     #import "SuperID.h"
    
  • 5.2.接着,在 app delegate 方法中添加如下初始化代码:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
     [[SuperID sharedInstance]registerAppWithAppID:@"f70b68f7cfcd70de647ccb66" withAppSecret:@"7da6ee7f36fed97ea0c35a0c"];
    
      //开启SuperID SDK的调试模式,开发者在Release时,将该模式设置为NO. 
      [SuperID setDebugMode:YES];
      //设置一登 SDK 的语言模式,默认为自动模式。
      [SuperID setLanguageMode:SIDAutoMode];
    
       return YES;
    }
    

注:一登 SDK 支持以下四种语言模式,开发者可自行选择(默认为自动模式,根据系统语言切换)。

语言类型

6. 调用登录接口

  • 1.登录流程说明

    一登 SDK 授权登录适用于拥有 server 端的应用授权,目前移动应用上一登提供内嵌 UI 的登录方式。该模式整体流程如下:

    第三方发起一登授权登录请求,进入一登授权登录页面,用户进行刷脸登录操作过程(首次用户需确认其一登账户的账户信息)。
    一登 SDK 判断用户授权状态。已授权用户刷脸认证后进入步骤4。未授权用户刷脸认证后进入步骤3。
    用户允许授权第三方应用。
    通过继承一登 SDK 的委托回调,获取用户基本数据资源。

  • 2.登录集成说明

    在App的登陆控制器的.m中,同样导入 SuperID SDK。

    #import "SuperID.h"
    

在 App 的登陆控制器中,挂 SuperID SDK的代理<SuperIDDelegate>

在登陆控制器的ViewWillAppear方法中添加如下代码:

  -(void)viewWillAppear:(BOOL)animated{

     [SuperID sharedInstance].delegate = self;
  }
  • 3.你设置一个登陆按钮(下面按钮里面的方法)

     NSError *error = nil;
    
     id SIDLoginViewController = [[SuperID sharedInstance]obtainLoginViewControllerWithError:&error];
    
     if (SIDLoginViewController) {
    
         [self presentViewController:SIDLoginViewController animated:YES completion:nil];
    
     }else{
    
         NSLog(@"Error =%ld,%@",(long)[error code],[error localizedDescription]);
     }
    
  • 4.在当前的登陆控制器的.m文件中,添加一登 SDK 的代理方法,代码如下:

- (void)superID:(SuperID *)sender userDidFinishLoginWithUserInfo:(NSDictionary *)userInfo withOpenId:(NSString *)openId error:(NSError *)error{

if (!error) {

     //授权登录成功
    NSLog(@"userInfo:%@", userInfo);
    NSLog(@"openId = %@", openId);

}else{

   //授权登录失败
    NSLog(@"Login Fail Error =%ld,%@",(long)[error code],[error localizedDescription]);
  }
}

在 iPhone 真机上编译并运行当前工程。在网络环境正常情况下,点击界面的按钮,应用将会弹出一登SDK 的登录页面。登录操作成功后,工程将执行一登SDK 的代理方法,并获取当前用户的个人信息。

成功的返回,参数信息样例:

   userInfo:{
avatar = "xxxxx.jpg";
name = "\U5f90\U9a8f\U6770V1\Uff01";
persona = {
    character = reserved;
    gender = male;
    generation = 90s;
    location = {
        city = "\U6df1\U5733";
        country = CN;
        province = "\U5e7f\U4e1c";
    };
    tags = (
        eyeglasses
    );
};
  phone = 136xxxx9914;
 } 
 openId = xxxxxxxxxxxxxx
屏幕快照 2016-10-01 上午12.35.09.png

失败的返回,参数userInfo和uid为nil。error信息样例如下:

 Login Fail Error =-1000,Login Fail

7.在需要的地方退出登录(一般在我的里面,记得导入#import "SuperID.h")

当用户在三方应用发起退出账户或退出登录请求时,开发者需执行以下方法。该方法不会解除一登账户与三方应用的授权绑定状态,仅用于清除当前一登账户的凭证信息,开发者如需执行解除绑定操作,可查阅《授权查询与取消授权指南》。

 [[SuperID sharedInstance]appUserLogoutCurrentAccount];

8.完成刷脸

接入完毕后,能成功调取刷脸登陆界面(如图所示),并刷脸成功,则 SuperID SDK 接入成功。

完成刷脸

一登刷脸的demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,565评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,021评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,003评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,015评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,020评论 5 370
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,856评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,178评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,824评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,264评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,788评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,913评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,535评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,130评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,102评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,334评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,298评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,622评论 2 343

推荐阅读更多精彩内容

  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 3,356评论 1 9
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,488评论 25 707
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,664评论 0 15
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • 她叫夏末,母亲说因为她出生时刚好抓住了夏天的尾巴。印象中母亲总是喊她阿阔,从不叫她夏末,夏末也曾问过母亲这个问题,...
    Umaltmy阅读 505评论 0 0