从auth对话框登录后重定向到Facebook应用程序

时间:2012-08-08 02:33:36

标签: facebook authentication login dialog

我的测试应用程序出了点问题

$params = array(
  'scope' => 'read_stream, publish_stream'
);

$loginUrl = $facebook->getLoginUrl($params);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";

这是我用来发送尚未登录的用户登录的代码 通过facebook auth对话框。 问题是在使用facebook auth对话框登录后 用户将被重定向到我的网站,该网站不在Facebook应用程序中。

如何在使用auth对话框登录后将用户发回Facebook应用程序?

请帮忙

2 个答案:

答案 0 :(得分:2)

您可以使用getLoginUrl()redirect_uri参数告知Facebook在授权结束后要将用户发送到哪里(让它成功或失败)。

你可以在那里使用什么限制,基本上你有三个选择:

  1. 您应用程序域下的网址。
  2. 应用程序的画布路径(如果有):https://apps.facebook.com/YOUR_APP_NAMESPACE
  3. 安装了您的应用的任何网页网址:https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID
  4. 默认情况下,php sdk将当前网址设为redirect_uri。有关这些的文档位于相同参数的oauth dialog's documentation下。

答案 1 :(得分:0)

对于同一个问题进行谷歌搜索并找到了解决方案,所以想到也可以回答她。

只需在主页面中添加以下代码即可。

$config['appBaseUrl'] = "http://apps.facebook.com/your_app_name/";

if(isset($_GET['code']))
{
     header("location:" . $config['appBaseUrl']);
     exit;
}

$ config是我在创建facebook对象时传递的数组。在这种情况下,不需要创建数组。