2012-11-29 45 views
2

我已经用最新的FB SKD在我的iOS应用程序,使用户可以使用Facebook帐户登录。应用程序打开FB应用程序,并返回到我的应用程序非常好。然而,在应用中的一些地方,我必须展示/拉一些人的Facebook页面(使用的WebView基于Safari浏览器),但即使用户已经使用Facebook帐户登录到我的原生iOS应用,但网页仍然要求用户登录再次,当他们点击登录时,它向他们展示恼人的FB用户名/密码页。 无论如何,基于FB safari的页面可以验证用户,因为它已经使用FB集成登录到我的应用程序了吗?我必须包括查询什么的。请给我详细介绍了如何,因为我在这个新的解决这个问题..再次 感谢您的帮助......基于Facebook的iOS版SDK和Safari身份验证问题

图:https://www.dropbox.com/s/rjlptu7ufpcq3vl/fb.png

回答

0

当用户切换到Facebook应用程序进行身份验证,这不是为你的UIWebView创建一个cookie,这就是它要求重新登录的原因。让用户在UIWebView内进行身份验证,而无需切换到Facebook应用程序。

+0

谢谢你的答复。但我不希望用户再次“认证”。他们在登录应用程序时已经做了。你的意思是有没有办法为UIWebView创建cookie,并在开始时使用FB SDK将它传递给Safari?你能给我更多的细节吗? –

0

你在说什么也听起来像是Facebook对话不知道当前Facebook会话时发生的类似事情。

如果您通过Facebook验证您的用户,请尝试将Facebook对象本身作为内存中某处的实例变量,以便您可以再次访问它(单身控制器上的属性,也许?)。

从经过身份验证的Facebook对象产生对话框似乎让他们使用对话框而无需重新验证,如果您有[FBSession activeSession]。所以你还必须维护一个活动的FB会话。但我不确定这种解决方案是否可行,因为你没有显示你的基于Web的FB抓取的具体代码。

这个问题也可能证明是有益的:

Implement Login with Facebook in iOS 5 and 6