无法使用 Discord 登录论坛

我在退出后登录我们的论坛(forums.thecookout.org)时遇到了问题。

通过 Discord 验证后,我被重定向到以下 URL:

https://forums.thecookout.org/auth/failure?message=csrf_detected&strategy=discord

并收到以下错误:

授权超时,或您已切换浏览器。请重试。

我不太清楚具体原因,希望能得到一些帮助。

提前感谢!

供其他看到此内容的人参考。

我从未访问过您的网站,但我也遇到了

虽然我自己无法提供帮助,但这或许能帮到那些想要协助您的人。

请更新到最新版本,我们最近已修改了相关代码。

如何从 cmd/Docker 更改它?

我无法访问 GUI。

通过 SSH 连接到服务器

cd /var/discourse
./launcher rebuild app

我已经尝试了两次,但仍然收到错误。

为了补充我所看到的情况,当我登录到 Docker 镜像并查看日志时:

/var/www/discourse/log/production.log

我看到的错误是:

(discord) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, 
csrf_detected | 检测到 CSRF
开始处理 GET "/auth/failure?message=csrf_detected&strategy=discord",来源 IP 为 99.14.146.128,时间为 2019-09-11 21:19:27 +0000
正在处理 Users::OmniauthCallbacksController#failure,格式为 HTML
参数:{"message"=>"csrf_detected", "strategy"=>"discord"}
正在渲染 users/omniauth_callbacks/failure.html.erb,位于 layouts/no_ember 布局内
已渲染 users/omniauth_callbacks/failure.html.erb,位于 layouts/no_ember 布局内(耗时 0.1 毫秒)
已渲染 layouts/_head.html.erb(耗时 16.0 毫秒)
已渲染 common/_discourse_stylesheet.html.erb(耗时 0.4 毫秒)
已渲染 application/_header.html.erb(耗时 0.3 毫秒)
完成,状态码 200 OK,总耗时 21 毫秒(视图:17.8 毫秒 | ActiveRecord:0.0 毫秒)

显然,问题出在使用了 GitHub - featheredtoast/discourse-plugin-discord-auth: A Discourse plugin to login over Discord · GitHub 进行 Discord 认证,而不是使用内置方法。

不确定它是何时添加的,但现在使用它后一切运行顺畅!

感谢大家的支持!

哦,这就对了。我的分支是插件的原始仓库,尚未像 discourse 下的仓库那样更新以支持 core 的插件。我会将其更新为与 discourse 的仓库保持一致。给您添麻烦了,您排查得很到位!

没问题!

它一直表现得很出色!

感谢您带头冲锋!

你好,也许这不是正确的主题(不确定是否应该另开一个话题),但我在使用 LDAP 认证插件时遇到了这个问题。这可能与它有关吗?