iOS开发实用技术之第三方登陆

第三方登陆基本介绍

  • 为什么需要第三方登录

    • 每一个APP都希望用户尽可能多的参与进去,以增加用户之间的粘合度
  • 比较火的第三方登录平台

    • QQ - 从PC端转型到移动端
    • 新浪微博 - 相当于国外的推特,用户量很大
    • 微信 - 国内移动端最大用户群的应用

第三方登陆的原理

  • 使用用户的QQ/微博/微信账号生成的ID作为用户身份的标示
    • 选择第三方登录—-授权—-获取对应ID和AccessToken—获取用户相关信息
    • 保存用户信息的方式
      • 方式1:直接保存用户的ID到服务器,下次用户登录时,ID作为用户的身份
      • 方式2:获取ID后依然提示用户注册,但是下次登录时可以使用ID来验证身份
      • 具体步骤查看新浪微博第三方登录流程
        这里写图片描述

友盟集成第三方登陆

参考地址:http://dev.umeng.com/social/ios/detail-share

  • ios9适配

    • 1.下载 SDK 文件,拖到项目里
    • 2.在 info.plist的 NSAppTransportSecurity 下新增 NSAllowsAribitraryLoads 并设置为 YES,指定所有的 HTTP 连接都可以正常请求
      这里写图片描述
    <key>NSAppTransportSecurity</key>
    <dict>
     <key>NSAllowsArbitraryLoads</key>
     <true/>
    </dict>
    • 3.应用瘦身(App Thining)
      • BUild Setting 中将 Enable bitcode 关闭
        这里写图片描述
  • 设置 App 的 key

  // 设置友盟的APPKEY
  [UMSocialData setAppKey:@"5616236ae0f55a3cb20031ef"];

  • 集成新浪微博第三方登陆
- (IBAction)sinaLogin {
    UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina];

    snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
        //  获取微博用户名、uid、token等
        if (response.responseCode == UMSResponseCodeSuccess) {

            UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToSina];

            NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);

        }});
}

注意:运行报错,注意导入SystemConfiguration.framework库
这里写图片描述

  • 新浪微博支持SSO授权

    • 添加URL scheme,在你的工程设置项,targets 一栏下,选中自己的 target,在 Info->URL Types 中添加 URL Schemes,此值是 sso 登录时回调时所用。
      这里写图片描述

    • 在你的AppDelegate文件里面#import "WeiboSDK.h"并实现下面的方法:

      - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
      {
      return [WeiboSDK handleOpenURL:url delegate:self];
      }
  • QQ 及Qzone登陆

    • 在 AppDelegate 应用入口方法添加下面的方法

      
      #import "UMSocialQQHandler.h"
      
      
      // 集成QQ第三方登录或者分享,注意:appKey是腾讯开发平台自己应用的APPKEY
      [UMSocialQQHandler setQQWithAppId:@"1104898900" appKey:@"PiiKO9JyFFXRjcxr" url:@"http://www.baidu.com"];
    • 首先在腾讯开放平台注册应用,地址:http://open.qq.com,点击“移动应用”

    • 添加相关文件(有报错的话记得导入相关库)
    • 配置 URL schemes,地址:http://dev.umeng.com/social/ios/detail-share#4
    • 添加系统回调
  • 微信及朋友圈分享

    • 微信开放平台,类似QQ 集成登陆过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值