2011-01-22 107 views
2

我想用我的Google App Engine Web服務器使用Facebook來認證我的iPhone客戶端。我想這樣做的方法是如下:獲取原始Facebook Cookie內容iPhone

  1. 登錄與Facebook的iPhone
  2. 獲得了Facebook的cookie(與我的應用程序的祕密ID簽名)
  3. 有iPhone客戶端發送的cookie我的服務器
  4. 驗證從服務器端的cookie中的簽名(也知道是該應用程序的祕密標識)

我已經成功thiswith一個JavaScript客戶端和AP上運行的JSON RPC工具來完成p引擎,但我似乎可以使用Facebook SDK(https://github.com/facebook/facebook-ios-sdk)在iPhone上獲取原始Facebook cookie內容。使用他們的示例代碼,我已經用Facebook iPhone客戶端設置了一個簡單的登錄。如果你看看Facebook.m,它會將cookie作爲NSHttpCookie讀取,但它缺少我從我的JavaScript客戶端看到的信息。

我沒有看到這樣的信息: 的access_token = 到期= 祕密= session_key可以= SIG =

我至少可以獲得訪問令牌,另一路到我的服務器上進行身份驗證,將接受用戶訪問令牌,然後向服務器端的Facebook圖表api發出請求,以驗證訪問令牌確實是用戶聲稱是用戶的用戶。

關於如何在iPhone上獲取整個cookie的任何想法?

回答

3

你需要做的是在NSHTTPCookieStorageNSHTTPCookie上閱讀。文檔herehere

這裏是通過您的應用程序可以訪問餅乾迭代一些示例代碼讀/寫:

for(NSHTTPCookie* cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) 
{ 
    // read and write from the CookieStorage 
} 

如文檔指出,記住,你只需要餅乾訪問而不是任何其他應用程序,包括Safari.app。