2010-11-21 32 views
5

我正在構建具有一些社交功能的iPhone應用程序。我設法讓用戶在我的應用程序中登錄到Facebook。 我也實現了加載Facebook iPhone優化頁面的webview。我現在想要做的是我的用戶登錄在webview中,而無需登錄兩次(一次在應用程序,一次在web視圖中)iOS - 使用SDK登錄後在webView中登錄

我試了一些東西玩弄access_token在URL中,但它沒有工作。

有誰知道是否有可能實現,以及如何做到這一點?提前

感謝您的幫助

+0

也許這有助於 http://stackoverflow.com/questions/7835381/how-can-i-use-an-access-token-to-circumvent-fb-login – 2011-12-28 09:42:10

回答

1

簡短的回答:你可能不應該是能夠做到這一點。

這個想法是,您的應用程序應該只存儲一個身份驗證令牌,該令牌可以讓您的應用程序作爲您的應用程序(例如發佈到牆上作爲您的應用程序)。在網絡版上,用戶登錄Facebook並且Facebook另外將驗證令牌傳遞給您的網站;在iOS版本上,我認爲你永遠不會獲得Facebook會話cookie,而且我很確定你需要Facebook會話cookie登錄到網絡端的東西(特別是因爲它是專門爲瀏覽器—註銷而設計的的Facebook將您從所有網站上的Facebook連接中註銷)。

有很多東西可以解決這個問題—只需向用戶提供用戶名/密碼就可以了(儘管應用程序中的UIWebView中的「可信用戶界面」的概念是有缺陷的,儘管如此Facebook的聲明)。

「正確的」事情是使用對iOS SDK的調用來實現所有的事情,所以你不必擔心Web事物的一面。

+0

謝謝您回答:) 如果無法完成,太糟糕了。我的觀點是快速方便地訪問一些臉書的功能。如果我需要我的用戶每天通過facebook獲得提示,那麼這不會是一個很好的用戶體驗。 重新實現偉大的已經存在的Facebook應用程序的一部分對我來說也不是一個好主意。我想最好的解決方案是直接指向Facebook應用程序。通過快速切換應用程序並不是那麼糟糕。 – saintmac 2010-11-22 19:36:52

+0

你能解釋一下如何通過詢問用戶的憑據來解決這個問題嗎? – saintmac 2010-11-22 19:41:34

0

您是在模擬器上還是在設備上測試您的應用程序?我問的原因是因爲即時通訊試圖讓應用程序保持登錄到它所做的fb,它依然彈出一個fb對話框,說它登錄正常,用戶必須單擊確定按鈕。

我還沒有時間在設備上測試它,但我認爲它可能與使用OAuth 2.0,使用3.2.x或> ...如果安裝了fb的事實有關,它使用fb -app登錄,但如果未安裝,則使用Safari瀏覽器登錄。

因爲模擬器沒有安裝fb應用程序,所以它實際上使用了safari網絡登錄(我虛心推斷),否則它會存儲一個cookie,也許它不會在模擬器上這樣做..dunno,即時通訊仍在尋找答案在那一個:)

+0

我正在模擬器和設備上進行測試。我正在使用和不使用Facebook應用的設備上進行測試。 api的登錄工作正常。我想實現的是使用API​​身份驗證登錄到facebook移動嵌入到webview中。 – saintmac 2011-05-13 00:00:08