iOS:shareSDK第三方登录
shareSDK第三方登录跟分享差不多,比较简单,前面已有介绍。这里简单写一下第三方登录吧。
1、首先:我用到了QQ、微信、新浪这三个平台的登录,需要到它们各自的开发者平台注册开发者账号,这是我的QQ创建应用截图,因为没有导入app的应用图标,所以未审核,但是仍然会生成可用的AppID和App KEY,可以自己接着完善信息提交审核。

2、其次:下载ShareSDK包,将需要的文件导入项目中。这里推荐使用CocoaPods,它可以直接帮助导入所有的依赖库,避免麻烦。我导入的格式如下:
pod 'ShareSDK3'
pod 'MOBFoundation'
pod 'ShareSDK3/ShareSDKPlatforms/QQ'
pod 'ShareSDK3/ShareSDKPlatforms/SinaWeibo'
pod 'ShareSDK3/ShareSDKPlatforms/WeChat'
3、然后:使用各个平台的appkey或者appid去注册ShareSDK应用,代码如下:
@implementation AppDelegate (KJShareSDk)
-(void)shareApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
/**
* 设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到http://mob.com/login 登录后台进行应用注册,
* 在将生成的AppKey传入到此方法中。
* 方法中的第二个第三个参数为需要连接社交平台SDK时触发,
* 在此事件中写入连接代码。第四个参数则为配置本地社交平台时触发,根据返回的平台类型来配置平台信息。
* 如果您使用的时服务端托管平台信息时,第二、四项参数可以传入nil,第三项参数则根据服务端托管平台来决定要连接的社交SDK。
*/
[ShareSDK registerApp:shareSDK_AppKey
activePlatforms:@[
@(SSDKPlatformTypeSinaWeibo),
@(SSDKPlatformTypeWechat),
@(SSDKPlatformTypeQQ)]
onImport:^(SSDKPlatformType platformType)
{
switch (platformType)
{
case SSDKPlatformTypeWechat:
[ShareSDKConnector connectWeChat:[WXApi class]];
break;
case SSDKPlatformTypeQQ:
[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
break;
case SSDKPlatformTypeSinaWeibo:
[ShareSDKConnector connectWeibo:[WeiboSDK class]];
break;
default:
break;
}
}
onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)
{
switch (platformType)
{
case SSDKPlatformTypeSinaWeibo:
//设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
[appInfo SSDKSetupSinaWeiboByAppKey:sinaWiebo_AppKey
appSecret:sinaWiebo_AppSecret
redirectUri:sinaWiebo_RedirectUri
authType:SSDKAuthTypeBoth];
break;
case SSDKPlatformTypeWechat:
[appInfo SSDKSetupWeChatByAppId:wechat_AppId
appSecret:wechat_AppSecret];
break;
case SSDKPlatformTypeQQ:
[appInfo SSDKSetupQQByAppId:qq_AppId
appKey:qq_AppKey
authType:SSDKAuthTypeBoth];
break;
default:
break;
}
}];
}
@end
4、接着:去项目中的info下的URL Types设置白名单,用来支持客户端的跳转,参照官方截图如下:

这是我的截图:

6、开始调用集成的方法,进三方登录即可,只要代码如下:
方法一:
//例如QQ的登录
[ShareSDK getUserInfo:SSDKPlatformTypeQQ
onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error)
{
if (state == SSDKResponseStateSuccess)
{ NSLog(@"uid=%@",user.uid);
NSLog(@"%@",user.credential);
NSLog(@"token=%@",user.credential.token);
NSLog(@"nickname=%@",user.nickname);
//在这里面实现app界面的跳转:
1.如果用户将qq和app已经进行了绑定,直接登录成功就能拿到用户的数据;
2.如果用户没有将qq和app进行绑定,那么绑定成功后就会从服务器获取到token,这个token是用来获取用户数据的,很重要。
总之:每一个用户都有自己唯一的标识,使用第三方登录,第三方是不知道用户的账号和密码的,那么用户必须先绑定,绑定成功后,服务器返回这个标识,之后服务器通过这个标识才能获取到用户的数据。
} else { NSLog(@"%@",error); } }];
方法二:
/ 导入头文件
#import <ShareSDKExtension/SSEThirdPartyLoginHelper.h> [SSEThirdPartyLoginHelper loginByPlatform:SSDKPlatformTypeQQ
onUserSync:^(SSDKUser *user, SSEUserAssociateHandler associateHandler) { //在此回调中可以将社交平台用户信息与自身用户系统进行绑定,最后使用一个唯一用户标识来关联此用户信息。
//在此示例中没有跟用户系统关联,则使用一个社交用户对应一个系统用户的方式。将社交用户的uid作为关联ID传入associateHandler。
associateHandler (user.uid, user, user);
NSLog(@"dd%@",user.rawData);
NSLog(@"dd%@",user.credential); }
onLoginResult:^(SSDKResponseState state, SSEBaseUser *user, NSError *error) { if (state == SSDKResponseStateSuccess)
{ } }];
iOS:shareSDK第三方登录的更多相关文章
- iOS微信第三方登录实现
iOS微信第三方登录实现 一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统.在进行微信OAuth2.0授权登录接入之前,在微信开 ...
- iOS - ShareSDK第三方分享(图文和视频)和登录
由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...
- iOS无处不在详解iOS集成第三方登录(SSO授权登录无需密码)
链接地址:http://www.it165.net/pro/html/201408/18884.html 1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社 ...
- iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录<无需密码>)
1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社交分享:http://www.cnblogs.com/qingche/p/3727559.html 可 ...
- IOS 集成第三方登录
我使用的是友盟上集成的第三方登录功能,一共使用了三个应用的登录授权,QQ.微信.新浪微博.由于第三方登录授权成功后,需要跳转到一个新的界面,所以这里需要在项目里设置第三方登录的SSO授权.就是必须安装 ...
- iOS YSAuth 第三方登录及分享
概述 在很多时候,我们使用的都是第三方插件来处理登录与分享,比如使用友盟.但要是我们需要自己写一套自己的登录.分享.支付的时候,就可以使用YSAuth这个类库. github:https://gith ...
- ShareSDK第三方登录代码
- (IBAction)YYSJBut:(UIButton *)sender{ if (sender.tag == 7) { [self AuthLogin:SSDKPlat ...
- iOS微信实现第三方登录的方法
这篇文章主要介绍了iOS微信第三方登录实现的全过程,一步一步告诉大家iOS微信实现第三方登录的方法,感兴趣的小伙伴们可以参考一下 一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2 ...
- iOS之ShareSDK实现分享、第三方登录等功能
(1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/ (2)根据实际情况,引入相关的库,参考官方文档. (3)在项目的AppDelegate中一般情况下有三 ...
随机推荐
- Geoffrey Hinton获得IEEE的麦克斯韦奖的颁奖辞
2016年6月IEEE的麦克斯韦奖颁发给了机器学习的领军人物Geoffrey Hinton.颁奖辞十分优雅,同时简洁.凝练地解释了机器学习的最新进展以及神经网络的崛起.我忍不住翻译了一下. 颁奖辞 G ...
- python基本数据类型的用法和区别
原文:http://www.cnblogs.com/soaringEveryday/p/5044007.html Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置 ...
- Asp.net gzip压缩的启用
gzip压缩使用一种压缩算法,对网页内容进行压缩,从而减小了网页体积.使用gizp压缩后减小了服务器的带宽.提高了网页的打开速度.下边看看我找到的一个asp.net中启用gzip压缩方案. 首先,我们 ...
- linux中使用rm命令将文件移到回收站的方法
今天在终端下,看到我的用户目录下有个-的文件夹(maven生成),相要删除收回点空间,习惯性的用命令 rm -rf ~ ,一回车,猛然想起的时候已经来不及了,世界一下子清静了,想死的心都有了! 没错, ...
- ref:Adding AFL Bloom Filter to Domato for Fun
ref:https://www.sigpwn.io/blog/2018/5/13/adding-afl-bloom-filter-to-domato-for-fun Adding AFL Bloom ...
- python爬取人民币汇率中间价
python爬取人民币汇率中间价,从最权威的网站中国外汇交易中心. 首先找到相关网页,解析链接,这中间需要经验和耐心,在此不多说. 以人民币兑美元的汇率为例(CNY/USD),脚本详情如下: wind ...
- HTTP 415错误 Unsupported Content-Type
报如下错误: { "badMediaType": { "message": "Unsupported Content-Type", &quo ...
- 理解面向消息中间件及JMS 以及 ActiveMQ例子
为了帮助你理解ActiveMQ的意义,了解企业消息传送背景和历史是很重要的.讨论完企业消息传送,你将可以通过一个小例子了解JMS及其使用.这章的目的是简要回顾企业消息传送及JMS规范.如果你已经熟悉这 ...
- ARC 058
所以为啥要写来着........... 链接 T1 直接枚举大于等于$n$的所有数,暴力分解判断即可 复杂度$O(10n \log n)$ #include <cstdio> #inclu ...
- 【尺取法】POJ3061 & POJ3320
POJ3061-Subsequence [题目大意] 给定长度微n的数列整数及整数s.求出总和不小于s的连续子序列的长度的最小值.如果节不存在,则输出0. [思路] 尺取法五分钟裸裸裸~刷水刷出了罪恶 ...