我发现在一定时间后,使用Javascript SDK创建的Facebook会话过期。我感谢会话不能永远存在,但有没有办法让用户无限期地登录我的网站,除非他们退出Facebook?
我将Javascript SDK与PHP SDK结合使用,我发现很难找到解决方案。
如果会话不存在,那么PHP无法检测到用户,因此我的网站认为他们已经注销,而实际上,会话已经过期,他们只需要刷新页面以允许Javascript SDK重新生成会话。我之所以如此绝望地对此进行排序,仅仅是因为用户会看到一个页面说他们没有登录,实际上他们是。他们需要做的就是刷新页面以将新会话发送到PHP SDK
通过javascript进行页面刷新不是解决方案,因为这种情况发生得太频繁,加载半页然后自动刷新
看起来不太好到底有没有?
更新
我发现一篇文章引用了一个叫做“offline_access”的文章,这可能是答案吗?我还可以用这个发帖吗?
答案 0 :(得分:2)
使用“offline_access”权限延长访问权限的生命周期,从而使您的会话永久生效(或直到5月弃用)。
来自Facebook Extended Permissions
使您的应用能够代表用户执行授权请求 随时。默认情况下,大多数访问令牌会在短时间后过期 期间确保应用程序仅代表用户发出请求 当正在积极使用该应用程序时。这个许可使得 我们的OAuth端点返回的访问令牌是长期存在的。