我想在webView中打开一个页面,其中facebook connect已经过身份验证

时间:2011-04-10 02:43:15

标签: iphone facebook authentication

我已经构建了一款允许用户生成分数的iphone游戏。它还允许用户将他的分数发布到中央DB。用户识别和身份验证依赖于Facebook连接。事实上,几个月前我从github下载了Facebook Connect演示应用程序并将我的游戏入侵。

我还在GAE之上构建了一个Web应用程序来做排行榜功能,因此我未来的用户群可以看到他们与其他玩家的比较。我利用facebook工具让他们与朋友竞争。

生活很美好。

我希望能够在iphone应用中向用户显示排行榜,而不是强迫他们打开safari来访问我的webapp。这样做的一种粗略方法是创建另一个可通过tabbedViewController访问的视图,并使用指向我的(格式正确的)webapp的webView填充第二个选项卡。

这让我想到了我的问题。当用户第一次到达网页时,他们必须进行身份验证。当你在网上冲浪时这很好。然而,在嵌入在iPhone应用程序中的裸骨webview中,它看起来很愚蠢。我刚刚在另一个标签上进行了身份验证(所以我可以发布我的分数)。为什么我必须再次进行身份验证?

所以,我想使用Facebook Connect工具以已经过身份验证的状态打开我的网络应用程序。但是,这似乎意味着重用认证令牌,我认为这是禁止的。我有两个问题:

这可能吗?

如果是这样,我该怎么做?

感谢您的帮助。我意识到这涉及到所以我很高兴澄清它是否不清楚。

Dessie

2 个答案:

答案 0 :(得分:0)

您可以重复使用该访问令牌。例如,当您使用FB iOS SDK进行图形调用时,您正在使用该令牌来验证调用。

要做你想做的事 - 至少我怎么做,就是使用fb javascript sdk。参考:http://developers.facebook.com/docs/reference/javascript/

确保您的网络应用的每个网页都包含脚本,并确保使用适当的参数(AppID等)调用FB.Init()。由于您使用的是FB iOS SDK,因此应设置cookie,并且所有内容都应按计划运行,并且用户应已经过身份验证。如果没有 - 尝试此代码:

FB.getLoginStatus(function(response){   if(response.session){     //登录并连接用户,您认识的人   } else {     //没有用户会话,有些人你不知道   } });

如果一切正常,那么您可以像这样调用REST API或Graph:

FB.api('/ me',function(response){   警报(response.name); });

-Joey

答案 1 :(得分:0)

您还可以使用在标签之间来回移动webview(当/如果用户更改标签)。