未登录的用户可以在facebook上看到我的应用程序


Users not logged can see my application in facebook

我有一个问题,如果我没有登录我的facebook帐户,我可以看到(即使如此)我的应用程序,并编写它的url。换句话说,facebook上的"匿名用户"可以看到我的应用。

我所知道的是,我如何防止没有登录的用户看不到我的应用程序,并被重定向到登录facebook?

我可以配置我自己的facebook应用程序吗?还是应该使用SDK或JS Facebook进行编程?有人能推荐一个页面或一个如何做的例子吗?

注意:我将PHP与CodeIgniter一起用于我的应用程序。

在我看来,你没有正确使用SDK来检查用户是否登录。然后,你基本上需要将内容包装在if-else语句中。我不知道你是否使用了一个用于代码点火器的插件,但在php-sdk中,最简单的说法是:

  include "facebook.php";
  $facebook = new Facebook(array("appId"=>YOUR_APP_ID, "secret"=>YOUR_SECRET));
  $me = $facebook->getUser();
  $user = false;
  if($me){ // still try and get user as getUser could return valid result
     try{
     $user = $facebook->api('/me');
     catch(facebookAPIException $e){
     $user = false;
     $me = false;
     }
 }

if($user){ // display your content here
}else{// user not logged in
   header("Location:".$facebook->getLoginUrl());
}

上面的例子是最简单的形式,但关于php-sdk的信息在这里https://developers.facebook.com/docs/reference/php/您可以下载它来查看示例。正如我所说,这只是一个普通的php,没有集成在codeigniter中,在很大程度上只是psuedo代码。如果你粘贴了一些代码,这可能有助于解决这个问题,尤其是对其他在代码点火器方面更有经验的人来说。但对我来说,这听起来像是你没有检查用户是否存在,也没有转发或包装你的内容,使他们无法查看。我不确定这在画布应用程序上是如何工作的,但我知道这适用于网站身份验证。如果这是一个你正在谈论的画布应用程序,你可以尝试为你的应用程序选中"经过身份验证的推荐"复选框,或者在用户未被识别的情况下使用JS sdk重定向,类似于上面的

如果其他用户看不到应用程序,你几乎肯定忘记了将应用程序从沙箱模式中取出,或者在人口统计学上限制了它-在应用程序设置中更改

{edit:你已经把你的问题编辑成与之前几乎相反的问题

PHP示例应用程序包含用于检查当前用户是否使用您的应用程序的代码,在这种情况下,您可以执行不同的操作(包括重定向到auth对话框)

相关文章: