我们在保持用户登录状态时遇到了问题。
- 我们通过 SSO 将 Discourse 连接到我们的应用程序。
- 登录成功并重定向到 Discourse
- 点击某个版块
- 弹出“您已退出登录”
我们的猜测如下
当我们点击版块时,Session storage 中的 _forum_session 值会不断变化
因此,之前的 sessionkey 和新生成的 session key 有时不匹配。
如何管理 _forum_session 值?或者如何控制 _forum_session 的生成顺序?
是什么导致了这个弹出窗口?
Wonjong
(Wonjong)
6
版本:3.5.0.beta1
部署类型:自托管
登录类型:Discourse SSO Connect
大家好,
我目前正在我们的基础设施中运行自托管的 Discourse 实例。
一切正常,直到通过 Discourse SSO Connect 方法登录(我们使用自己的自定义帐户服务器进行身份验证)。
但是,我们在执行搜索操作时遇到了一个问题,会随机出现一个“您已被注销”的弹出窗口。
这仅在生产环境中发生——开发或暂存环境则不会。
我们没有修改任何 Discourse 的开源代码。
我们的假设是,_forum_session cookie 应该在每次 API 调用时更新,但出于某种原因,此更新在生产环境中失败。因此,当前会话 cookie 无效并导致注销。
如果有人遇到过类似问题或对正在发生的事情有任何见解,我将非常感谢您的帮助。
我们希望尽快解决此问题。
谢谢!
Wonjong
(Wonjong)
8
是的,感谢您的分享。
我想了解在什么情况下 forum_session 更新可能会失败。据我所知,每次我通过响应中的 Set-Cookie 标头进入页面时,它都会更新。我们没有更改任何相关逻辑,所以我不知道为什么它有时不会更新。
1 个赞
RGJ
(Richard - Communiteq)
9
如果已经有相关主题,则无需开设新主题(我推测它甚至与同一网站有关)。
您已经超过4.5个月没有更新了 - 请先将您的网站更新到最新的测试通过版本(3.5.0.beta8-dev),看看这是否能解决问题。
2 个赞
Wonjong
(Wonjong)
10
@RGJ 感谢您的回复。
有点奇怪——我们运行了三个相同版本(3.5.0.beta1)的环境,但此问题仅在生产环境中出现。另外两个环境(开发和暂存)运行正常,所以我认为这与版本无关。
我想知道,这是第一次报告此问题吗?过去有类似的报告吗?
RGJ
(Richard - Communiteq)
11
而且为了排除这一点,你应该先更新。
另外,beta1包含一些安全漏洞,所以你无论如何都想这样做 
1 个赞