日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS客户端接入Facebook,SSO授权

發布時間:2023/12/29 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS客户端接入Facebook,SSO授权 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原貼地址:http://blog.csdn.net/wxq888/article/details/7905003


一?首先說明下

1:Facebook采用的時Oauth2.0授權

2: 說明下什么是sso

? ? ? ? SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。對于Facebook的移動應用接入來說,意思就是如果用戶手機上安裝了facebook官方客戶端并登錄了,那么我們寫的應用,授權facebook時,就不需要輸入用戶名和密碼了,程序里call下facebook打聲招呼就行了。這個用戶體驗是不是很棒~國內的新浪微博好像也快推出sso了~?

3:Facebook的sso說明:

? ? ?a:要實現sso,Facebook客戶端的版本要求3.2.3或更高版本。

? ? ?b:如果用戶手機里沒有裝Facebook客戶端或者版本過底,那么SDK將打開safari瀏覽器,在瀏覽器中登陸后,skd可以利用safari瀏覽器的cookie中的access_token.

? ? ?c:如果程序運行在一個不支持多任務的系統,sdk將彈出一個UIWebView,提示用戶登錄授權。個人關于Facebook sso的見解:sso用戶體驗很不錯,關于第二點,調用safari瀏覽器來登錄,我覺得很多國內用戶都不用safari瀏覽器,所以這個代碼可以在sdk中屏蔽調。如果用戶沒有裝facebook官方客戶端的話,就直接彈登錄框了~不過國內由于需要翻墻才能上facebook,估計用戶也不多,不知到國外用戶用safari瀏覽器的多不多?還是有其他瀏覽器。

二:準備工作

?下載Facebook ios sdk:官方下載地址:http://developers.facebook.com/ios/。官方現在得sdk版本已經是3.0.8了,應該差不了太多。我得sdk是兩個月前下載得,我已上傳倒csdn資源中,下載地址:http://download.csdn.net/download/wxq888/4522172

三:正式開始

1:把sdk目錄下src目錄文件導入到工程中

2:在AppDelegate中初始化Facebook對象 在appDelegate得頭文件和m文件中加入下面得代碼

#import "FBConnect.h"

Facebook *facebook;

@property (nonatomic, retain) Facebook *facebook;

@synthesize facebook;

facebook = [[Facebook alloc] initWithAppId:your asp id andDelegate:nil];?

3:實現sso回調代碼,也就是當應用程序委托Facebook官方客戶端授權后,官方客戶端要回調應用程序傳回access token。在appDelegate中添加下面代碼:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

return [self.facebook handleOpenURL:url];

}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

return [self.facebook handleOpenURL:url];

}?

4:在Info.plist文件中增加sso回調url,以告訴Facebook官方客戶端該調用誰。如圖所示,回調地址格式是fb.your_app_id.需要修改為自己申請得appid。


5: 調用sdk api登錄 AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [[delegate facebook] authorize:permissions];

6:如果登錄沒有問題,就會回調Facebook.m得 (void)fbDialogLogin:(NSString *)token expirationDate:(NSDate *)expirationDate 這個函數,你需要在這個函數中處理授權成功代碼。保存token值等操作。如果有錯誤會調用- (void)fbDialogNotLogin:(BOOL)cancelled 這個函數。

7:利用skd調用其他api。比如請求用戶資料。 需要調用:[self requestWithGraphPath:@"me" andDelegate:self];。其他api具體需要調用哪個請參看官方文檔。


總結

以上是生活随笔為你收集整理的IOS客户端接入Facebook,SSO授权的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。