iOS无处不在详解iOS集成第三方登录(SSO授权登录无需密码)
链接地址:http://www.it165.net/pro/html/201408/18884.html
1.前言
不多说,第三登录无处不在!必备技能,今天以新浪微博为例。 这是上次写的iOS第三方社交分享:http://www.cnblogs.com/qingche/p/3727559.html 可以和今天的一起集成使用。
2.集成前的准备工作
2.1.去ShareSDK(现为Mob)注册帐号,下载SDK,然后添加自己的应用后得到AppKey
下载地址:http://sharesdk.cn/Download 
2.2.申请第三方登录的Appkey
例如: 新浪微博、腾讯微博、QQ、微信、豆瓣应用、人人网、QQ空间 去各大社交网站的开发者平台,进行注册,添加应用即可得到。 获取如下:
2.3.前往Parse用户注册并下载SDK。

3.集成shareSDK
3.1.导SDK
选中工程项目进入“Build Phases”在“Link Binary With Libraries”中点击“+”号,按照ShareSDK的集成文档与Parse的文档说明把需要引入的库加入到项目中 
3.2.注册ShareSDK

3.3.添加要集成的第三方登录平台
注意: 新浪微博需要提供回调地址才行
回调地址去新浪开发者平台获取
[ShareSDK connectSinaWeiboWithAppKey:@"3819780424"
appSecret:@"6ce8dba1a8baa6803b6e3824518422b3"
redirectUri:@"http://www.baidu.com"];
redirectUri 要和开发平台的回调页面相同

3.4. 、在 - (BOOL)application: didFinishLaunchingWithOptions:注册ShareSDK、添加集成平台、注册Parse
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{ // Override point for customization after application launch. [ShareSDK registerApp:@"288fe15ac67e"]; //参数为ShareSDK官网中添加应用后得到的AppKey //Parse Key
[Parse setApplicationId:@"gKROXKemyAYT1JEQPwFjcuNRL7qPLguXpYWS1qb9"
clientKey:@"U48G8pla1trx8voPeOpH8Hts9QN475g27STuxuWo"]; ///新浪微博:
//App Key:3819780424
//App Secret:6ce8dba1a8baa6803b6e3824518422b3
//腾讯微博:
//App key:2620460989
//App secret:58c55f572d5ae35e0c355f4c0ee11283 //分享内容URL [ShareSDK connectSinaWeiboWithAppKey:@"3819780424"
appSecret:@"6ce8dba1a8baa6803b6e3824518422b3"
redirectUri:@"http://www.baidu.com"]; // //新浪微博
// //App Key:801498670
// //App Secret:882c5581fa08e4068e9b920b65dac4ac
//
// //添加腾讯微博应用
// [ShareSDK connectTencentWeiboWithAppKey:@"801307650"
// appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c"
// redirectUri:@"http://www.sharesdk.cn"]; // //添加豆瓣应用
// [ShareSDK connectDoubanWithAppKey:@"07d08fbfc1210e931771af3f43632bb9"
// appSecret:@"e32896161e72be91"
// redirectUri:@"http://dev.kumoway.com/braininference/infos.php"];
//
// //添加人人网应用
// [ShareSDK connectRenRenWithAppKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
// appSecret:@"f29df781abdd4f49beca5a2194676ca4"];
//
//
//
// //添加Facebook应用
// [ShareSDK connectFacebookWithAppKey:@"107704292745179"
// appSecret:@"38053202e1a5fe26c80c753071f0b573"];
return YES;
}
其中传入ShareSDK的参数则是之前创建应用的AppKey,而Parse的ApplicationId和clientKey可在应用信息面板中获取。

3.5.实现SSO授权(SSO授权登录<无需用户输入密码登录>)
注意:每个第三方客户端的SSO授权方法不同: 详情可查看 http://wiki.sharesdk.cn/iOS配置SSO授权
//(新浪微博)例:在AppDelegate添加2个方法:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [ShareSDK handleOpenURL:url wxDelegate:nil]; } - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [ShareSDK handleOpenURL:url sourceApplication:sourceApplication annotation:annotation wxDelegate:nil]; }
打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于新浪微博的Scheme(如果不添加则会导致法返回应用)。其填写格式为:wb+appKey(你在新浪微博申请的AppKey), 如:wb2279784657。如图所示: 
3.6.拖一个按钮,在按钮的点击事件实现第三方登录

3.7.注册登录成功后,可以登录Parse 查看数据已经成功写入,如图:

3.8.最后来一个注销按钮即可,返回登录界面
- (void)logoutButtonClickHandler:(id)sender
{
[ShareSDK cancelAuthWithType:ShareTypeSinaWeibo]; [self.navigationController popViewControllerAnimated:NO];
}
作者: 清澈Saup
出处: http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。
iOS无处不在详解iOS集成第三方登录(SSO授权登录无需密码)的更多相关文章
- 详解如何进行第三方App接入微信登录
微信登录接入 微信登录遵循协议Aouth2.0中的授权码模式 我们来看一下Aouth2.0中的授权码模式是怎么定义的: 授权码模式(authorization code)是功能最完整.流程最严密的授权 ...
- Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 下面是一些知识点介绍,后期将会带领大家进行代码实战: 一.Android实现推送方式解决方案: 1.推 ...
- iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录<无需密码>)
1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社交分享:http://www.cnblogs.com/qingche/p/3727559.html 可 ...
- IOS SizeClasses 详解
SizeClasses 详解 iOS 8在应用界面的可视化设计上添加了一个新的特性-Size Classes.对于任何设备来说,界面的宽度和高度都只分为三种描述:紧凑,任意和宽松.这样开发者便可以无视 ...
- 【转】IOS AutoLayout详解(三)用代码实现(附Demo下载)
转载自:blog.csdn.net/hello_hwc IOS SDK详解 前言: 在开发的过程中,有时候创建View没办法通过Storyboard来进行,又需要AutoLayout,这时候用代码创建 ...
- 深拷贝与浅拷贝(mutableCopy与Copy)详解 iOS
深拷贝与浅拷贝(mutableCopy与Copy)详解 iOS ios中并不是所有的对象都支持copy,mutableCopy,遵守NSCopying 协议的类可以发送copy消息,遵守NSMutab ...
- 详解iOS开发之自定义View
iOS开发之自定义View是本文要将介绍的内容,iOS SDK中的View是UIView,我们可以很方便的自定义一个View.创建一个 Window-based Application程序,在其中添加 ...
- IOS SDK详解
来源:http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html?page=1#42803301 博客专栏>移动开发专栏>I ...
- iOS路由详解
本文如题,路由详解,注定是一篇详细解释iOS路由原理及使用的文章,由于此时正在外地出差,无法详细一一写出,只能不定时的补充. 一.什么是iOS路由 路由一词来源于路由器,可以实现层级之间消息转发的功能 ...
随机推荐
- 质因数分解的rho以及miller-rabin
一.前言 质因数分解,是一个在算法竞赛里老生常谈的经典问题.我们在解决许多问题的时候需要用到质因数分解来辅助运算,而且质因数分解牵扯到许许多多经典高效的算法,例如miller-rabin判断素数算法, ...
- android错误之android.content.res.Resources$NotFoundException:
错误:android.content.res.Resources$NotFoundException: String resource ID #0x1 原因:一般发生在参数 int resId 错误, ...
- CSS实现背景图尺寸不随浏览器大小而变化的两种方法
一些网站的首页背景图尺寸不随浏览器缩放而变化,本例使用CSS 实现背景图尺寸不随浏览器缩放而变化,方法一. 把图片作为background,方法二使用img标签.喜欢的朋友可以看看 一些网站的首页 ...
- Memcached初体验及原理解说
1.简单介绍 Memcached 是一个 高性能的 分布式 内存对象缓存系统,用于动态Web应用降低数据库负载,提升性能. 2.试用场景 1.变化频繁,具有不稳定性的数据 (比方用户在线状态.在线人数 ...
- ajax 基础实例
优点:使用ajax读取数据文件,不需要刷新页面就能取出文件数据 目 录 1.0 基于ajax请求的理论支持 1.1 js 实现jquray中 ajax请求功能 基于ajax请求的理论支持 < ...
- excel unixtime与北京时间互转
unixtime转北京时间,在单元格内输入:=INT((B2-70*365-19)*86400-8*3600) *.要设置一下单元格格式为y-m-d h:m:s才会正确显示 北京时间转unixti ...
- UASCO Zero Sum DFS + Stack
给一个N 表示1 2 3 ...N 求出所有 zero sum的情况 [简单Dfs 即可] 运算结果的时候我使用了一个stack... 比如N = 7 那么要求输出 1+2-3+4-5-6+7 1+2 ...
- iOS使用自定义字体
http://blog.csdn.net/heartofthesea/article/details/22289399 1.将准备好的字体文件加入项目中 2.打开Build Phases—Copy B ...
- 设计模式(六)桥连模式Bridge(结构型)
设计模式(六)桥连模式Bridge(结构型) 1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够 ...
- NOI2015 寿司晚宴
今年NOI确实是在下输了.最近想把当时不会做的题都写一下. 题意 从2到n(500)这些数字中,选若干分给A,若干分给B,满足不存在:A的某个数和B的某个数的GCD不等于1. 对于寿司晚宴这题,标准解 ...