出于某种原因,我不明白,Discourse 不允许用户连接或管理已连接的外部帐户(例如关联的 Discord 帐户)。Discourse 代码似乎使用以下逻辑来确定用户是否可以更新其关联帐户:
canUpdateAssociatedAccounts(
secondFactorEnabled,
canCheckEmails,
isAnonymous
) {
if (secondFactorEnabled || !canCheckEmails || isAnonymous) {
return false;
}
return findAll().length > 0;
为什么 secondFactorEnabled 是这里考虑的变量?
我的用户非常困惑,因为他们陷入了一个奇怪的境地。他们在我们的网站上注册了一个帐户,将他们的帐户与 Discord 帐户关联起来以便访问我们的 Discord 服务器,然后启用了他们帐户上的双因素身份验证。执行此操作后,“关联帐户”部分就从他们的帐户页面消失了!只要双因素身份验证处于启用状态,他们就无法再查看或管理其关联帐户。
我们还有另一位用户非常困惑,因为他们创建了帐户并启用了双因素身份验证,但无法按照我们的说明添加关联帐户,因为“关联帐户”部分从未显示在他们面前。
与没有问题的其他用户相比,这两个用户唯一的共同点是他们都启用了双因素身份验证。
我想为我的用户提供选项,让他们既能在论坛帐户上启用双因素身份验证又能将他们的帐户与 Discord 帐户关联起来。
我将此归类为 Support 类别,但不确定这是否真的是 #bug。无论如何,似乎没有不更改 Discourse 代码的解决方法。