我们有一个正在运行的 Discourse 实例,但停止了没有账户的用户登录,我们对此感到困惑!这发生在几周前,在我们安装了 Discourse AI 插件并重启实例之后。直到最近几天客户投诉才引起我的注意。我们通常每天都有很多新用户注册。
设置
- 通过官方 Docker 自托管 Discourse
- https://community.enginedj.com
- 使用我们自己的 OIDC 提供商的 OIDC 插件(
1) - 除了 OIDC 没有其他身份验证方式(即没有电子邮件+密码注册)(
2) - 上一次成功的新用户注册是在 2023 年 11 月 22 日新西兰标准时间上午 5:23
- AI 插件安装于 ~ 2023 年 11 月 22 日新西兰标准时间上午 6:03(这会导致 Discourse 实例重启)
- 自 3 月份以来没有与身份验证相关的系统配置更改的事件日志(
3) - 论坛活动充足,磁盘空间/数据库等没有问题。
问题
- 登录流程工作正常,但在返回没有预先存在账户的用户时,他们没有被登录
- 没有显示错误消息
- 日志中没有错误消息(日志中有 CSRF 错误,但与登录失败无关)
- OIDC 插件的详细日志显示它正确地从 OIDC 提供商查询数据,获取声明等,并且没有显示任何问题(
4)
我们尝试过的
- 禁用 Discourse AI 插件
- 移除 Discourse AI 插件
- 检查 cookie 响应是否存在域不匹配
- 将所有插件/组件更新到最新版本(
5) - 确认没有更改任何设置
- 检查了主机上的日志。没有发现异常。
这是问题的视频。第一次登录是没有 Discourse 账户的用户。第二次是我使用管理员账户登录。
https://www.loom.com/share/3aad210d844849dc8154ce6e5db50d29
有什么想法可以指导我们下一步该看什么吗?
1
2
3
4
5






