getLoginUrl()的Facebook PHP SDK问题

时间:2010-12-15 05:04:54

标签: php facebook facebook-iframe

我在使用getLoginUrl()登录PHP SDK时遇到了问题。当用户点击该功能生成的链接时,它不显示权限对话框,而是显示Facebook徽标,必须在显示权限对话框之前单击它才能帮助我!

2 个答案:

答案 0 :(得分:1)

Facebook徽标正在显示,因为您的应用正在尝试加载iframe中的身份验证对话框,这是OAuth 2.0不允许的。相反,您的应用必须在_parent或_top或弹出窗口中加载auth-dialog,这是您点击Facebook徽标时发生的情况。

答案取决于您的应用如何允许用户启动身份验证过程。

许多人都有一个例子:

  1. 用户到达您的应用程序但未注册。
  2. 他们必须单击链接才能开始注册(身份验证)过程。
  3. 点击链接会显示Facebook徽标。单击facebook徽标将显示身份验证对话框。
  4. 大多数人抱怨第3步有“额外”步骤显示facebook徽标。

    答案:更改链接:

    FROM:<a href="<?=$loginUrl?>">

    TO:<a target="_top" href="<?= $loginUrl ?>

    [有几种方法可以完成你的要求,这个答案显示了一个人似乎最多问的问题,如果不适用,你需要提供更多细节]

答案 1 :(得分:0)

Facebook不允许用户通过iframe登录,就像大多数oAuth一样。