我们以前见过这个错误,我刚在我们的工单系统中搜索过。
当你设置了:
require activation为true- Discourse 中有一个用户 U1,其电子邮件地址特定,可能带有外部 ID A。
- DiscourseConnect 提供商端有一个用户 U2,其电子邮件地址相同但外部 ID 不同(B)
用户登录时,Discourse 会检查是否存在外部 ID 为 B 的用户,但不存在。
通常,Discourse 会在下一步进行电子邮件匹配,但由于 require activation 设置为 true,电子邮件地址被视为不受信任,因此它会跳过此步骤,并且不会与用户 U1 关联,因为这会允许账户被盗。
所以 Discourse 决定创建一个新用户。但这会失败,因为用户 U1 已经存在该电子邮件地址。
如果电子邮件地址已存在但被视为不受信任,最好能有一个更好的错误提示。我也不确定为什么会显示一个通用的 Rails 错误。
解决方案:
- 如果你的 DiscourseConnect 提供商端的电子邮件地址已验证且可信,请将
require activation设置为false。
或者 - 将用户 U1 的外部 ID 更改为 B
或者 - 将用户 U1 的电子邮件地址更改为其他内容
添加文本“您想要的更改被拒绝”,以便当有人搜索此错误时能找到此主题。