每次SSO登录时都会发送TL2欢迎消息

这个 bug 已经存在一年多了,在此期间客户已经不再使用 Discourse,因此我无法完全复现。不过,我总是会做详细的笔记,所以我甚至还保留了当时的 SSO payload 记录。但我无法检查任何其他设置和/或在该确切实例上进行复现。

回到我的笔记。发生的情况与你现在做的略有不同。SSO 传递了一个空的 groups 字段(仅仅是 groups=)。但相关的用户属于一个 SSO 提供商未知的另一个组,该组强制其成员提升到 TL2。

此外,据我回忆,TL2 和 TL3 的欢迎消息行为不同,所以如果你尝试复现此问题,可能需要使用 TL2 而不是 TL3。

因此,要复现,我认为你需要执行以下操作:(请注意,我引入了第二个组)

(WordPress)

  • 使用电子邮件 steaky@cat.com 设置 WordPress 用户“Steaky”
  • 添加 wpdc_custom_sso_params 以设置所有登录用户的 dogs 组,并设置 $params['groups'] = 'dogs';

(Discourse)

  • 使用电子邮件 steaky@cat.com 创建用户“Steaky”
  • 让 Steaky 合法地成为 trust_level_1(非锁定)
  • 创建“cats”和“dogs”组,并将“自动授予成员的信任级别”设置为“cats”的 2 级
  • 让 Steaky 成为 cats 组的成员
2 个赞