无法禁用用户的 2FA

我们有一位启用了双重认证(2FA)的用户,但无法为其禁用该功能。

点击其账户上的“禁用”按钮后,系统返回以下错误:


(您向请求提供了无效参数:Discourse::InvalidParameters)

users_second_factors 表中没有该用户 ID 对应的记录。我曾尝试手动添加一条虚拟记录,这样点击“禁用”按钮时不再报错,但系统仅删除了该虚拟记录,用户的 2FA 仍然处于启用状态。

我还尝试了 rake users:disable_2fa[username] 这个 Rake 任务,任务提示“已为用户禁用 2FA",但在管理员后台查看该用户资料时,仍显示“双重认证:是”。

请问还有其他可以尝试的解决方案吗?

尝试通过 Rails 控制台操作:

3 个赞

另外,最好能告知您正在运行的 Discourse 版本。自双因素认证(2FA)首次发布以来,已针对无法通过用户界面禁用 2FA 的问题进行了修复。

3 个赞

感谢 @omarfilip .. 我删除了 UserSecondFactor,但不知道还有 UserSecurityKey。

该用户没有 UserSecondFactor 记录,但确实存在 UserSecurityKey 记录。

删除后,他们的个人资料显示“双因素认证:否”——谢谢!

@jomaxro 我们当前使用的是 2.5.0.beta48d3900c6da)。

看起来仍然存在一个问题:我应该能够通过用户界面执行此操作,但却收到“无效参数”错误,这可能是由于缺少 UserSecondFactor 记录导致的?

该版本已过时且不再受支持,请尽快更新。

2 个赞

除了版本陈旧且不再受支持外,您还错过了十余项安全修复,因此您的网站存在漏洞。请尽快升级。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.