我想使用 Facebook 通过我的 Google App Engine 网络服务器验证我的 iPhone 客户端。我认为这样做的方法如下:
- 在 iPhone 上使用 Facebook 登录
- 获取 Facebook cookie(使用我的应用的 secret ID 签名)
- 让 iPhone 客户端将 cookie 发送到我的服务器
- 从服务器端验证 Cookie 上的签名(也知道应用的 secret ID)
我已经使用 JavaScript 客户端和在应用程序引擎上运行的 JSON RPC 工具成功完成了此操作,但我似乎无法使用 Facebook SDK (https://github.com/facebook/facebook-ios-sdk)。使用他们的示例代码,我设置了一个简单的 Facebook iPhone 客户端登录。如果您查看 Facebook.m,它会将 cookie 读取为 NSHttpCookie,但它缺少我从 javascript 客户端看到的信息。
我没有看到此信息: 访问 token = 过期= secret = session key = 信号=
我至少可以获取访问 token ,在我的服务器上进行身份验证的另一种方法是接受用户访问 token ,然后向服务器端的 facebook 图形 api 发出请求,以验证访问 token 确实是对于用户声称是用户的人。
关于如何在 iPhone 上获取整个 cookie 有什么想法吗?
最佳答案
您需要做的是阅读 NSHTTPCookieStorage
和 NSHTTPCookie
。文档 here和 here .
以下是一些有关迭代您的应用有权读/写的 cookie 的示例代码:
for(NSHTTPCookie* cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
{
// read and write from the CookieStorage
}
正如文档所指出的,请记住,您只能访问您的 cookie,而不能访问任何其他应用程序的 cookie,包括 Safari.app。
关于iphone - 获取原始 Facebook Cookie 内容 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771225/