【问题标题】:Loading iPhone webviews as an Facebook SSO authenticated user?以 Facebook SSO 身份验证用户身份加载 iPhone 网络视图?
【发布时间】:2011-10-07 21:20:40
【问题描述】:

我已成功将 Facebook iOS SDK 集成到我的 iPhone 项目中,并且可以发出图形请求,因此我知道我的身份验证令牌和权限正常工作。

我的问题是,当我尝试将 Facebook url 传递到 UIWebView(例如查看某人的个人资料,然后能够采取发送好友请求等操作)时,webview 会打开一个 Sign再次出现 In/Login 选项,这不应该发生,因为我的用户已经通过 FB SDK 登录。

有趣的是,通过 openURL 打开一个 url 会启动 Safari 应用程序并将页面加载为经过适当身份验证的用户......但是,然后我不在我的应用程序之外:

NSString *url = [NSString stringWithFormat:@"http://m.facebook.com/RobertScoble"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];

所以我的问题是: 有没有某种方法可以通过 facebook-ios-sdk 作为经过身份验证的用户加载 web 视图?或者,有什么方法可以强制 openURL 不在 Safari 中加载页面,而是在我的 webview 中加载?

提前致谢!

【问题讨论】:

    标签: iphone facebook authentication cookies uiwebview


    【解决方案1】:

    这是另一个帖子的答案...

    http://facebook.stackoverflow.com/a/9831872/717418

    【讨论】:

      【解决方案2】:

      此外,这并不是 iOS 独有的。使用 Facebook 的 Android SDK 和 SSO 也会引入这种尴尬的用户体验。也就是说,如果您在本机 android 应用程序中使用基于 webView 的 facebook cmets,并且您使用 Facebook 的 SSO,则 cmets 将要求用户进行身份验证。

      就我而言,这是 Facebook 移动 SDK 设计中的一个错误。

      注意:选择非 SSO,webView 身份验证模型将允许所有嵌入式 facebook 插件按预期工作。至少安卓是这样。

      【讨论】:

        【解决方案3】:

        很遗憾,您无法做到这一点。 Facebook 网站将您的身份验证信息(身份验证令牌)保存在 cookie 中,并且 cookie 不会在 3rd 方应用程序内的移动 safari 和 UIWebview 之间共享。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多