如何要求用户在直接访问 Facebook Canvas App 网页之前先登录 fb?

How to require user to login fb before accessing Facebook Canvas App webpapge directly?

我是 Facebook 应用程序的新手。我正在开发我的第一个 Facebook Canvas 应用程序,它链接到我服务器上托管的网页。

我现在可以通过以下任一方式访问该应用程序: (1) 转到 Facebook 应用程序 (http://apps.facebook.com/myappname),或 (2)直接通过URL(http://mywebsite.com/myapp).

访问网页

我已经在 FB 仪表板设置中将 http://mywebsite.com/myapp 设置为我的 canvas 页面。

我想通过要求用户在访问页面之前先登录 FB 来避免 (2)。我想知道我该怎么做?

这可能是一个愚蠢的问题,但是我已经阅读了FB API文档(FB官方指南中有很多关于设置自定义登录页面的内容)并搜索了很多问题但似乎没有满足我的需求。

更新:

我尝试过将以下内容放入我的网页中:

<script> top.location.href = 'http://apps.facebook.com/myappname'</script>

在这种情况下,如果用户通过(1)访问该页面,则没有问题。如果用户通过 (2) 访问页面,用户将被重定向到 Facebook。

但是在客户端,即使用户没有登录Facebook,我们仍然可以查看网页内容。我想在服务器端实现这个。

非常感谢!

我已经使用来自 Facebook PHP SDK 版本 3 的示例解决了这个问题。

https://github.com/facebookarchive/facebook-php-sdk/blob/master/examples/example.php