zoukankan      html  css  js  c++  java
  • iOS配置SSO授权

    禁止/激活SSO授权

    用于控制平台是否使用SSO方式进行授权(目前只支持新浪微博、Facebook、QQ空间、腾讯微博、人人网、Pocket。默认情况下是激活SSO授权方式。),代码如下:

    //激活SSO
    [ShareSDK ssoEnabled:YES];

    //禁止SSO
    [ShareSDK ssoEnabled:NO];

    配置SSO授权

    使用SSO授权不需要重复输入新浪微博用户名、密码,只需要一步操作,直接点击授权按钮即可完成授权,增强了操作简便性及帐号安全性。SDK中默认是开启SSO授权的,对需要实现SSO的平台进行一下配置就可以使用了。

    由于SSO需要跳转到客户端进行授权验证,因此需要处理返回消息。在*AppDelegate.m(*代表你的工程名字)文件中加入如下方法:

    - (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。如图所示:

    Facebook

    打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于Facebook的Scheme(如果不添加则会导致法返回应用)。其填写格式为:fb+appKey(你在Facebook申请的AppKey),如:fb107704292745179。如图所示:

    QQ空间

    先确认是否已把TencentOpenAPI.framework以及对应的资源包导入到项目中。

    打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于QQ空间的Scheme(如果不添加则会导致法返回应用)。其填写格式为:tencent+appID(你在QQ空间中申请的AppId), 如:tencent100371282。如图所示:

    打开*AppDelegate.h(*代表你的工程名字)
文件,引入头文件:

    #import <TencentOpenAPI/QQApiInterface.h>
    #import <TencentOpenAPI/TencentOAuth.h>
    • 本地配置信息方式初始化时

    打开*AppDelegate.m(*代表你的工程名字)
文件,修改初始化QQ空间的代码

    /添加QQ空间应用
    [ShareSDK connectQZoneWithAppKey:@"100371282"
                                appSecret:@"aed9b0303e3ed1e27bae87c33761161d"
                       qqApiInterfaceCls:[QQApiInterface class]
                         tencentOAuthCls:[TencentOAuth class]];
    • 服务器托管模式初始化时

    确认在初始化SDK后是否有调用importQQClass方法,如果没有则添加如下语句:

    //导入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(*代表你的工程名字)
文件,引入头文件:

    #import "WeiboApi.h"
    • 本地配置信息方式初始化时

    打开*AppDelegate.m(*代表你的工程名字)
文件,修改初始化腾讯微博的代码

    //添加腾讯微博应用
    [ShareSDK connectTencentWeiboWithAppKey:@"801307650"
                                appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c"
                                redirectUri:@"http://www.sharesdk.cn"
                                wbApiCls:[WeiboApi class]];
    • 服务器托管模式初始化时

    确认在初始化SDK后是否有调用importTencentWeiboClass方法,如果没有则添加如下语句:

    //导入腾讯微博需要的外部库类型,如果不需要腾讯微博SSO可以不调用此方法
    [ShareSDK importTencentWeiboClass:[WeiboApi class]];

    Pocket

    打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于Pocket的Scheme(如果不添加则会导致法返回应用)。其填写格式为:pocketapp1234,后面的数字可以为任意值。如图所示:

    注意:初始化中的回调地址必须与填写的url scheme一致。

    人人网

    先确认是否已把RennSDK.framework以及对应的头文件导入到项目中。

    打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于人人网的Scheme(如果不添加则会导致法返回应用)。其填写格式为:rm + appID(你在人人申请应用的AppId) + BundleID。 如:rm226427cn.appgo.sharebyone,如图所示:

    然后打开*AppDelegate.h(*代表你的工程名字)
文件,引入头文件:

    #import <RennSDK/RennSDK.h>
    • 本地配置信息方式初始化时

    打开*AppDelegate.m(*代表你的工程名字)
文件,修改初始化人人网的代码

    //添加人人网应用
    [ShareSDK connectRenRenWithAppId:@"226427"
                       appKey:@"fc5b8aed373c4c27a05b712acba0f8c3"
                       appSecret:@"f29df781abdd4f49beca5a2194676ca4"
                       renrenClientClass:[RennClient class]];
    • 服务器托管模式初始化时

    确认在初始化SDK后是否有调用importRenRenClass方法,如果没有则添加如下语句:

    //导入人人网需要的外部库类型,如果不需要人人网SSO可以不调用此方法
    [ShareSDK importRenRenClass:[RennClient class]];
  • 相关阅读:
    Undefined symbols for architecture armv7错误解决方法
    一个iOS 框架介绍:MKNetworkKit
    objective-c之各种数值
    利用openURL,在IOS应用中打开另外一个应用
    hackerrank---List Comprehensions
    LeetCode --- Plus One
    Vim学习与总结
    LeetCode --- Pascal's Triangle II
    LeetCode --- Gray Code
    LeetCode --- Two Sum
  • 原文地址:https://www.cnblogs.com/fengmin/p/6186051.html
Copyright © 2011-2022 走看看