2011-01-22 108 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。