在以前的博客IOS开发之新浪围脖中获取微博的内容是使用我本身的access_token来请求的数据,那么如何让其余用户也能登录并获取本身的微博内容呢?接下来就是OAuth和SSO出场的时候啦。OAuth的全称为Open Authorization 开发受权,SSO--单点登录(Single Sign On)。至于其原理是什么,更具体的介绍网上的资料是一抓一大把,在这就不作过多的原理性的概述。固然啦,OAuth和SSO在Web和其余手机终端上应用仍是蛮多的,全部这方面的资料也是多的很。html
简单的说就是能够经过新浪的OAuth把以前access_token换成用户本身的access_token,从而请求本身微博的内容(由于以前作的的关于新浪微博的东西,因此用到是新浪提供的OAuth)。更详细的内容请参考新浪对OAuth2.0受权认证,iOS版SDK的GitHub下载以下:https://github.com/sinaweibosdk/weibo_ios_sdk 其中有详细的使用说明并附有使用Demo.因此sdk的使用在这就不作过多的赘述。可能有的小伙伴会问哪本篇博客要介绍什么东西呢?本篇博客就是被以前的新浪微博加上OAuth受权认证,给以前的博客作一个善后工做。
ios
1.仍是在博客的开头先来几张截图(第一张是没有登陆时的启动图,第二张是获取受权的页面,第三张是受权后的页面,第四张是把以前写的iOS开发之自定义表情键盘(组件封装与自动布局)整合了进来)这样的话一个App的基本功能算是有啦。git
2.在今天的博客中没有大量的代码,只是对以前博客中的内容的一个应用,如何用新浪的OAuth的SDK,新浪给提供的开发文档中说明的很详细了,笔者也是按上面一步步作的,没有太大问题。上面给出了SDK的下载地址,有兴趣小伙伴能够下载一个研究研究。github
3.在用户受权之后,新浪接口或返回一些用户的信息,其中就有该受权用户所对应的access_token, 下面是响应代码,把返回的用户access_token存入到了NSUserDefaults中,关于NSUserDefault的具体内容请参考以前的博客IOS开发之记录用户登录状态,在这就不作赘述了。微信
1 - (void)didReceiveWeiboResponse:(WBBaseResponse *)response 2 { 3 if ([response isKindOfClass:WBSendMessageToWeiboResponse.class]) 4 { 5 NSString *title = @"发送结果"; 6 NSString *message = [NSString stringWithFormat:@"响应状态: %d\n响应UserInfo数据: %@\n原请求UserInfo数据: %@", 7 response.statusCode, response.userInfo, response.requestUserInfo]; 8 NSLog(@"%@", message); 9 } 10 else if ([response isKindOfClass:WBAuthorizeResponse.class]) 11 { 12 13 self.wbtoken = [(WBAuthorizeResponse *)response accessToken]; 14 15 if (self.wbtoken != nil) { 16 //获取userDefault单例 17 NSUserDefaults *token = [NSUserDefaults standardUserDefaults]; 18 [token setObject:self.wbtoken forKey:@"token"]; 19 } 20 } 21 }
4.添加咱们的自定义键盘也挺简单的,由于以前是用纯代码封装的自定义键盘并留有响应的接口,全部移植到咱们的新浪微博上就是一个拷贝粘贴的体力活,关于自定义键盘的东西请参考以前的博客iOS开发之自定义表情键盘(组件封装与自动布局),在这就不作赘述。布局
这篇博客做为对以前开发的新浪微博作一个总结,记得前面有一篇博客是IOS开发之微信山寨版,其实在这篇博客中只有视图间的关系,没有具体的业务逻辑,在接下来的一段时间里要完善山寨版的微信,并加上实时通信的内容,但愿你们继续关注。post