在以前的博客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