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

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    JavaScript 的数据类型及其检测
    编写JavaScript 代码的5个小技巧
    canvas标签的基本用法
    析构函数的调用------新标准c++程序设计
    类型转换构造函数 及使用explicit避免类型自动转换------新标准c++程序设计
    c++小知识
    this指针------新标准c++程序设计
    类的互相包含------新标准c++程序设计
    封闭类------新标准c++程序设计
    c++内存模型------计算机系统核心概念及软硬件实现
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4895571.html
Copyright © 2020-2023  润新知