多个标签应用,使用单个应用ID的授权

时间:2011-10-11 08:39:53

标签: ruby-on-rails facebook facebook-graph-api facebook-javascript-sdk

所有

这是情景;

  • 我们的网站使用APPID-1进行身份验证和扩展权限(MainSite)
  • 我们的页面标签应用程序使用APPID-1进行身份验证&延长许可 (TabApp-1),这将auth_token添加到MainSite上的数据库

但是我们想要添加另一个使用APPID-1进行auth_token获取的选项卡,这可能吗?

建议方案;

  • MainSite - APPID-1获取auth_token
  • TabApp-1 - APPID-1获取auth_token
  • TabApp-2 - APPID-1获取auth_token

我应该注意,我们的TabApp实际上不需要auth_token,它是我们的MainSite后端应用程序,它使用auth_token为用户执行操作。但是,我们希望让我们的用户更容易使用该网站,而且许多用户都可以通过我们的粉丝页面访问。

那么我们可以让TabApp-2弹出APPID-1的Auth对话框而不是TabApp-2的APPID吗?

规格: Ruby on Rails 3.1并使用Graph API& Javascript Fb API

3 个答案:

答案 0 :(得分:0)

我想您必须使用APPID-1在TabApp-2中启动JS SDK。在服务器端,您将收到带有TabApp-2凭据的signed_request,但如果您只使用JS API,则可以使用它。

我猜你可以在不到30分钟的时间内用原型验证假设。你做到了吗?如果是的话,结果是什么?

答案 1 :(得分:0)

您不需要不同的应用程序(但我想您已经知道)同一个应用程序可以安装到多个页面上,您可以通过选中page在每个页面上显示不同的内容signed_request中的参数,当用户加载页面选项卡时,该参数将发布到您的服务器。

就授权而言,在让用户直接从页面选项卡登录时可能会出现问题(问题=可能不允许在登录后将用户重定向回选项卡,因为选项卡的完整URL (http://www.facebook.com/pages/somepage/12345?sk=app_{app id here})不是由您的应用“拥有”

如果发生这种情况,您可以在登录后使用其他参数将其发送到您的主站点,该参数用于检测用户是否已开始在页面选项卡上登录,并将其重定向回到它

答案 2 :(得分:0)

似乎你必须制作一些应用程序,然后只需使用php-sdk进行身份验证,因为auth将是服务器端,它出现在iframe或页面选项卡中无关紧要,它将能够验证到单个应用程序。