0

我在我的一个网站中使用 facebook connect。为此,我使用了 php sdk 库。

我正在使用以下代码:

<?php
  require APP_PHYSICAL_PATH.'includefiles.php';
  $loginUrl = $facebook->getLoginUrl(
        array(
        'req_perms' => 'email,user_location',
        'next'=>APP_URL.'views/search.php?validate=true'

        )
);
?>  
   <a href="<?php echo $loginUrl; ?>">
    <img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif">
  </a>

问题是,在成功验证后,它会进入搜索页面,但会在 url 中显示会话信息。例如

http://mydomain/views/search.php?validate=true&session={"session_key"%1A"4.7REQluh3EVBGKiA5m8cNlg__.6600.1700968000-900001178893860"%  

我希望此会话信息不可见。有没有办法做到这一点?

请帮助我

谢谢

潘卡伊

4

1 回答 1

2

我对这个问题的解决方案如下:

  • 当用户单击 Facebook 登录按钮时,会出现一个弹出窗口(最好没有 URL 输入栏)。此外,您可以将 'display' => 'popup' 参数传递给 getLoginUrl 方法,因为这将为 Facebook 连接页面使用更适合弹出窗口的另一种布局。
  • 当 Facebook 登录和权限授予成功后,Facebook 会将您重定向到您不想显示的 URL。
  • 在您被重定向到的页面上,您应该回显一个关闭窗口的 javascript。

另一种解决方案是在 iframe 中完成整个连接工作(尽管我还没有测试过这种方法)。

于 2011-03-24T11:00:33.073 回答