【问题标题】:Is it possible to keep the Facebook session alive?是否可以保持 Facebook 会话处于活动状态?
【发布时间】:2012-03-06 06:35:15
【问题描述】:

我发现在一定时间后,使用 Javascript SDK 创建的 Facebook 会话会过期。我很欣赏会话不能永远存在,但有没有办法让用户无限期地登录我的网站,除非他们当然退出 Facebook?

我将 Javascript SDK 与 PHP SDK 结合使用,但我发现很难找到解决方案。

如果会话不存在,则 PHP 无法检测到用户,因此我的网站认为他们已经注销,而实际上,会话已经过期,他们只需要刷新页面以允许 Javascript SDK重新生成会话。我需要如此拼命地排序的原因仅仅是因为用户会看到一个页面说他们没有登录,而实际上他们已经登录了。他们需要做的就是刷新页面以将新会话发送到 PHP SDK

通过 javascript 刷新页面在这里不是一个解决方案,因为这种情况发生得太频繁了,加载半个页面然后自动刷新看起来不太好

这里面还有吗?

更新

我发现一篇文章提到了“offline_access”,这就是答案吗?我还能用这个发东西吗?

【问题讨论】:

  • 感谢您的帮助,但这个问题是我自己不久前发布的,略有不同。我现在对细节更熟悉了,问题仍然存在。我设法找到了一些有趣的东西,我会将它们作为更新发布到我的问题中。

标签: php javascript facebook facebook-javascript-sdk facebook-php-sdk


【解决方案1】:

使用“offline_access”权限来延长您的访问令牌的生命周期,从而使您的会话永远存在(或直到它在 5 月被弃用)。

来自Facebook Extended Permissions

使您的应用能够代表用户执行授权请求 随时。默认情况下,大多数访问令牌会在短时间内过期 确保应用程序仅代表用户提出请求的期限 当他们正在积极使用该应用程序时。此权限使 我们的 OAuth 端点长期返回的访问令牌。

【讨论】:

  • 看我的更新,你太快了! :-)。谢谢,这样可以解决问题吗?
  • offline_access 基本上让您的应用程序可以随时使用相同的令牌进行访问。用户必须撤销权限或阻止您的应用才能使令牌失效。
  • 你绝对的传奇!你救了我这么多的悲伤,我的朋友。非常感谢!!!
  • offline_access 将于 5 月弃用。
  • 离线访问选项在应用程序高级界面中显示为“deprecate offline_access”。
猜你喜欢
  • 2018-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 2019-11-07
  • 2019-12-28
相关资源
最近更新 更多