配置 SSO 后,我的现有用户会怎样?

你好!假设我有一个托管在 Discourse 上的论坛,目前约有 100 名活跃成员。由于尚未设置单点登录(SSO),这些用户都是通过 Discourse 账户注册的。

现在,假设我的开发人员为论坛配置了 SSO,那么在此之前已在论坛上存在的这 100 个账户会发生什么情况?

这些用户将如何登录并保留他们的账户及发帖历史?我不希望他们在我的站点配置 SSO 后被迫放弃原有账户。

情况更复杂的是,这 100 名成员中的大多数已经在我的网站上拥有账户。有些使用的是与注册论坛时相同的邮箱,而有些则使用了不同的邮箱。

那么,一旦 SSO 设置完成,系统能否自动识别并合并使用相同邮箱的账户?对于使用不同邮箱的账户又该如何处理?用户将如何将其 Discourse 论坛账户与我的网站账户进行合并?

另外,稍微 unrelated 的一点:听说如果启用了 SSO,你们(非常棒的)邀请功能将无法使用?如果是这样,我该如何邀请用户加入论坛,并将他们自动添加到不同的用户组中?

谢谢!

所有用户必须在 SSO 提供商处拥有与 Discourse 中相同的电子邮件地址。启用 SSO 后,其 SSO 账户将通过电子邮件地址与现有的 Discourse 账户关联。

邀请必须通过 SSO 提供商进行管理,因为启用 SSO 后,Discourse 不再处理用户注册。

那么,下次他们访问论坛时,我假设他们会被自动登出?当他们尝试登录时,不会看到 Discourse 的登录界面,而是会被重定向到我网站的登录页面吗?

有没有办法自动将论坛在特定时间段内加入的所有用户添加到 Discourse 的某个特定群组中?例如,如果我想将 2021 年 4 月期间加入的所有用户自动归入一个名为“测试人员”的群组,这可行吗?

是的。

我目前没有现成的示例,但这实现起来应该相当简单。

您的 SSO 可以通过 SSO 流程中的 DiscourseConnect 响应传递组成员资格参数。这样,您的 SSO 提供商就可以提供此(及其他)组成员资格。

相关文档请参阅:DiscourseConnect - Discourse 官方单点登录 (sso)

太棒了,你们都非常乐于助人!最后一个问题:

如果我的某个论坛用户仅拥有 Discourse 登录凭证,但从未在我的网站上创建过账户,那么在配置 SSO 后,他们的账户会发生什么情况?该账户会就此永久丢失且无法恢复吗?

用户需要使用相同的邮箱在您的网站上创建账户。之后,该新用户即可登录并收回论坛账户。

明白了,谢谢。这似乎没有我想象的那么可怕。