gpt4 book ai didi

facebook - FB.Event.subscribe 和登录按钮

转载 作者:行者123 更新时间:2023-12-01 16:56:06 24 4
gpt4 key购买 nike

在我的页面上,我有 FB 登录按钮代码。用户可以通过按 FB 登录按钮向 Facebook 授权来加入我的网站。我的网站允许用户注销,他们中的许多人都喜欢这样做。

在我为该站点授权我的 FB 帐户后,退出我的站点,我无法再登录,因为 session 事件永远不会触发(除非我取消授权)。我按下 FB 登录按钮,一个白色页面打开,然后立即关闭,没有任何 react 。这似乎是因为 FB session 没有改变(它已经存在)所以该事件永远不会被触发。所以我想知道除了 Conceal FB的登录按钮并在他们的 session 存在时制作我自己的按钮之外,是否有其他方法可以解决这个问题。我尝试了“auth.login”,但也没有触发。

按钮:

<fb:login-button perms="email,user_about_me,user_birthday">Login with Facebook</fb:login-button>

事件:
 FB.Event.subscribe('auth.sessionChange', function (response) {
document.location.href = "/FacebookLogin.aspx";
});

重现步骤:
  • 单击 FB 登录并授权应用程序(在本例中为我的站点)。用户被重定向到我的 FB 登录页面,并在我的网站上创建了一个帐户。用户现在登录到我的网站。
  • 使用我的站点注销按钮注销我的站点
  • 单击 FB 登录按钮以重新登录站点。这是用户应该从第 1 步被重定向回同一页面的地方,以便他们可以登录到该站点。

  • 在第 3 步中发生的所有事情都是一个白页弹出几秒钟然后关闭。该站点已获得授权,并且未触发 session 事件。

    如果我使用一个浏览器授权然后使用不同的浏览器返回,也会发生这种情况。只需获取弹出窗口,它就会关闭并且没有任何 react 。我一定错过了一些重要的事情。

    最佳答案

    我有同样的问题,但过了一会儿,我解决了这个问题:

    function after_login_button(){
    FB.getLoginStatus(function(response) {
    if (response.status=="connected") {
    //User logged in! Do your code here
    }
    }, true);
    }

    您还需要在登录按钮上调用 onlogin 事件:
    <fb:login-button onlogin="after_login_button()" perms="email,user_about_me,user_birthday">Login with Facebook</fb:login-button>

    这对我有用=)。

    PS - 顺便说一句,我使用的是 OAuth 2.0,你也应该将你的应用程序迁移到它,因为在开发人员区,他们说:
    “请记住,所有应用程序必须在 10 月 1 日之前迁移到 OAuth 2.0”。

    抱歉最终出现英文错误=S

    关于facebook - FB.Event.subscribe 和登录按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7141762/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com