iOS配置SSO授权
2016-05-26 11:13
417 查看
禁止/激活SSO授权
用于控制平台是否使用SSO方式进行授权(目前只支持新浪微博、Facebook、QQ空间、腾讯微博、人人网、Pocket。默认情况下是激活SSO授权方式。),代码如下://激活SSO
[ShareSDK ssoEnabled:YES];
//禁止SSO
[ShareSDK ssoEnabled:NO];
配置SSO授权
使用SSO授权不需要重复输入新浪微博用户名、密码,只需要一步操作,直接点击授权按钮即可完成授权,增强了操作简便性及帐号安全性。SDK中默认是开启SSO授权的,对需要实现SSO的平台进行一下配置就可以使用了。由于SSO需要跳转到客户端进行授权验证,因此需要处理返回消息。在*AppDelegate.m(*代表你的工程名字)文件中加入如下方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [ShareSDK handleOpenURL:url wxDelegate:self]; } - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [ShareSDK handleOpenURL:url sourceApplication:sourceApplication annotation:annotation wxDelegate:self]; } |
新浪微博
打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于新浪微博的Scheme(如果不添加则会导致法返回应用)。其填写格式为:wb+appKey(你在新浪微博申请的AppKey), 如:wb2279784657。如图所示:QQ空间
先确认是否已把TencentOpenAPI.framework以及对应的资源包导入到项目中。打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于QQ空间的Scheme(如果不添加则会导致法返回应用)。其填写格式为:tencent+appID(你在QQ空间中申请的AppId), 如:tencent100371282。如图所示:
打开*AppDelegate.h(*代表你的工程名字) 文件,引入头文件:
1 2 | #import <TencentOpenAPI/QQApiInterface.h> #import <TencentOpenAPI/TencentOAuth.h> |
打开*AppDelegate.m(*代表你的工程名字) 文件,修改初始化QQ空间的代码
1 2 3 4 5 | /添加QQ空间应用 [ShareSDK connectQZoneWithAppKey:@"100371282" appSecret:@"aed9b0303e3ed1e27bae87c33761161d" qqApiInterfaceCls:[QQApiInterface class] tencentOAuthCls:[TencentOAuth class]]; |
确认在初始化SDK后是否有调用importQQClass方法,如果没有则添加如下语句:
1 2 3 | //导入QQ互联和QQ好友分享需要的外部库类型,如果不需要QQ空间SSO和QQ好友分享可以不调用此方法 [ShareSDK importQQClass:[QQApiInterface class] tencentOAuthCls:[TencentOAuth class]]; |
腾讯微博
先确认是否已把libTCWeiboSDK.a以及对应的头文件导入到项目中。打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于腾讯微博的Scheme(如果不添加则会导致法返回应用)。其填写格式为:wb + AppKey(你在腾讯微博中申请的AppKey), 如:wb801307650。如图所示:
然后打开*AppDelegate.h(*代表你的工程名字) 文件,引入头文件:
1 | #import "WeiboApi.h" |
打开*AppDelegate.m(*代表你的工程名字) 文件,修改初始化腾讯微博的代码
1 2 3 4 5 | //添加腾讯微博应用 [ShareSDK connectTencentWeiboWithAppKey:@"801307650" appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c" redirectUri:@"http://www.sharesdk.cn" wbApiCls:[WeiboApi class]]; |
确认在初始化SDK后是否有调用importTencentWeiboClass方法,如果没有则添加如下语句:
1 2 | //导入腾讯微博需要的外部库类型,如果不需要腾讯微博SSO可以不调用此方法 [ShareSDK importTencentWeiboClass:[WeiboApi class]]; |
注意:初始化中的回调地址必须与填写的url scheme一致。
人人网
先确认是否已把RennSDK.framework以及对应的头文件导入到项目中。打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于人人网的Scheme(如果不添加则会导致法返回应用)。其填写格式为:rm + appID(你在人人申请应用的AppId) + BundleID。 如:rm226427cn.appgo.sharebyone,如图所示:
然后打开*AppDelegate.h(*代表你的工程名字) 文件,引入头文件:
1 | #import <RennSDK/RennSDK.h> |
打开*AppDelegate.m(*代表你的工程名字) 文件,修改初始化人人网的代码
1 2 3 4 5 | //添加人人网应用 [ShareSDK connectRenRenWithAppId:@"226427" appKey:@"fc5b8aed373c4c27a05b712acba0f8c3" appSecret:@"f29df781abdd4f49beca5a2194676ca4" renrenClientClass:[RennClient class]]; |
确认在初始化SDK后是否有调用importRenRenClass方法,如果没有则添加如下语句:
1 2 | //导入人人网需要的外部库类型,如果不需要人人网SSO可以不调用此方法 [ShareSDK importRenRenClass:[RennClient class]]; |
相关文章推荐
- 关于10.11不能安装CocoaPods的问题
- iOS 分享功能开发
- iOS开发之获取手机型号
- iOS或去平米分辨率 以及放大模式、高清模式
- iOS开发之获取本地沙盒等基本路径
- iOS开发之多线程了解
- sps pps AudioSpecificConfig
- iOS基础笔试题 - 集锦二
- iOS基础笔试题 - 集锦一
- IOS之本地推送
- iOS新特性之实现3D Touch
- IOS设计模式--单例设计模式
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- 《Motion Design for iOS》(二十二)
- ios唯一标示符
- 调试2
- 图片拉伸---resizableImageWithCapInsets
- iOS界面间传值的几种方式
- ios 使用ZBar读取条形码和二维码
- IOS开发中 常常遇到的遇到的警告,错误汇总,解决方法