iOS-无处不在,详解iOS集成第三方登录(SSO授权登录<无需密码>)

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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.集成shareSDK3.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/

本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航