移动端 - Facebook 登录后登出功能失效

大家好,我遇到了一个问题。在 Facebook 登录后点击登出按钮时,页面会卡住,无法重定向到首页。不过,如果手动刷新页面,则会被重定向到首页,这表明会话已被销毁。这说明点击登出按钮后的重定向过程中存在某些错误。请问有人能帮我找到解决方案吗?

此问题仅出现在移动设备上,在网页端运行正常。

谢谢。

你能在 Meta 上复现这个问题吗?

我能够在 https://try.discourse.org/ 复现该问题。

附件视频

你能复现这个问题吗,@tshenry

是的,我可以在 iOS Safari 上复现。

@tshenry,实际的错误是什么?

注销已成功执行,只是刷新/重定向未能成功。

没有弹出错误提示,在 /logs 中也看不到任何相关内容(即使启用了详细日志)。初次尝试注销时浏览器控制台没有任何输出,但在后续的注销尝试中(即在技术上已经注销的情况下再次尝试注销)开始出现错误:

这与我最近向苹果报告的一个 bug 非常相似。

您能否在将“同站 Cookie”设置为“禁用”后尝试复现?更改设置后,您需要重新登录才能使设置生效。

是的,即使将“同站 Cookie

能否确认在 meta 环境中也能复现此问题?另外,请确认这是否仅在移动设备上发生?如果在桌面端通过向 URL 添加 ?mobile_view=1 强制启用移动视图,是否也会出现此问题?

我未在 Meta 上检查,仅在 https://try.discourse.org/ 上检查过。是的,该问题仅出现在移动端的 iOS Safari 上;而在桌面端通过向 URL 添加 ?mobile_view=1 强制启用移动视图时,问题并未出现。@tshenry 请确认我的观察结果。

我可以确认:

  • 在桌面版 Safari 中强制启用移动视图时,登出重定向功能正常。
  • 该问题在 Meta 的移动 Safari 上可复现。
  • 看起来仅在每次登录后尝试从初始登录页面登出时才会出现问题。
    • 如果登录后进入某个主题页再尝试登出,登出重定向功能正常。
    • 如果登录后进入某个主题页,点击返回按钮,然后尝试登出,登出重定向功能正常。
    • 如果登录后进入某个主题页,点击主页图标,然后尝试登出,登出重定向功能正常。

@Falco,你说得对!我刚刚在 Try 上测试了此方法,确实解决了该问题。

天哪,我本该赌这一把的:facepalm:

由于 这个 bug,我不得不禁用 Discourse 的离线功能。虽然该功能本身运行正常,但我们默认使用严格模式下的 Cookie,这会在 Safari 上触发 bug。

@tshenry,即使将“同站 Cookie”设置为禁用,我仍然遇到该问题。不过,第一次尝试时重定向正常,但再次尝试时却失败了。

另外,我在 Try 上也检查过,第二次尝试时同样没有成功。

嗯,你说得对……我想是因为第一次看到它成功运行后太兴奋了,结果没有进行后续的测试 :pensive:

我有一条新笔记要补充:注销重定向在收到“授权超时,或您已切换浏览器。请重试。”消息后似乎能直接生效。这通常发生在注销后立即尝试登录时。

下面的视频片段首先展示了注销重定向失败的情况,然后在 13 秒处,显示了在消息显示后重定向成功运行的情况。