【问题标题】:Maintaining an active FB auth session for a website维护网站的活动 FB 身份验证会话
【发布时间】:2012-02-29 03:05:18
【问题描述】:

我发现了几个问题与我的类似,但不是 100%。

我有一个拥有普通用户帐户的网站。您也可以选择使用 FB 身份验证。问题通常是当用户访问页面时(有时甚至在几个小时后),即使用户帐户 cookie 仍然有效,但他们的 facebook 会话却无效。

所以用户似乎已登录,(网页显示“嗨,[用户]”)但我没有 facebook 会话,任何 facebook API 调用都会失败,直到他们重新单击“使用 facebook 登录”。 -- 尽管我仍然登录 facebook,但这一切都是如此。

现在,我在大约 11 到 9 个月前做了类似的实现,facebook 会话很少过期。现在它似乎每隔几个小时就会发生一次。奇怪的是,其他使用 facebook auth 的网站似乎没有遇到这个问题。

知道我可以做些什么来尽可能长时间地保持 facebook 会话吗? 谢谢, 尼克

【问题讨论】:

    标签: php facebook authentication facebook-php-sdk facebook-oauth


    【解决方案1】:

    大多数人将 php-sdk 与 js-sdk 结合使用。这会查找身份验证事件,并且通常会触发重新加载将用户重新登录到 facebook 的页面

    开发者网站上有一些示例代码,就在上面下面的锚点

    https://developers.facebook.com/docs/guides/web/#insights

    【讨论】:

    • 最初我有这个设置,但是我发现 JS SDK 不会刷新页面。只有当您单击“facebook 登录”按钮时才会这样做,但如果您只是查看页面则不会。所以,它根本没有帮助。
    • 另外,我听说 FBML 被贬低了?
    • 您可以将登录按钮替换为 连接。我经常使用该代码,它对我有用,我也有类似的情况。有一些帖子建议将 window.location.reload 调用放入 window.setTimeout
    • 啊,现在它开始回到我身边。真正困扰 JS SDK 的一个问题是,如果我使用 'status : true' 作为 window.fbAsyncInit 函数的参数。事实上,它会用我的 facebook 令牌刷新页面。 然而 然后,我将无法真正退出该页面。每次我这样做时,它都会加载主页,尝试获取一个令牌(并获取一个),然后立即让我重新登录。我尝试了一些黑客攻击,以动态设置状态参数,但最终它导致的问题超出了它的价值......:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2019-01-29
    • 2019-03-03
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多