可以更改SSO提供商吗?

我们大约在两年前上线了 Discourse,并且我们使用 SSO 从我们的主后台系统作为身份验证提供商。它使用外部 ID(GUID)。

我们正准备将主后台系统更换为另一家供应商。他们支持 OAuth2/OpenID,但当我们转换为这个新系统时,我们用户的外部 ID(GUID)将会改变。因此,我想知道是否有人经历过这种情况,以及我是否需要以某种方式大规模更新 Discourse 中当前存储的外部 ID。

1 个赞

只要用户的电子邮件地址保持不变,您应该就没问题。

5 个赞

抱歉,当我测试新的 SSO 提供商时,我收到错误消息“主电子邮件已被占用”。

并且我有以下设置:
image

那是因为您正试图注册,而实际上应该登录(因为该账户已存在)。

但我并不是想注册。我访问主页,然后点击“登录”;我看到了我 SSO 提供商的登录页面,我成功进行了身份验证,但在输入密码后,我到达了“创建您的帐户”页面,但我从未点击过“注册”。

我认为我还设置了这些应该合适的设置。

为了进行故障排除,我建议从仅包含必需设置开始。请确认双方都存在一个具有该电子邮件的用户。

您是在 Discourse 中手动填写该电子邮件,还是由 SSO 服务器自动填充的?

我认为可能发生的情况是,该电子邮件在 Discourse 中与另一个用户名相关联,而您的 SSO 服务器发送了一个新用户名,从而导致了此冲突。

Discourse 日志中是否有任何与 SSO 相关的内容?这可能有助于查明问题的确切原因。

1 个赞

谢谢。我已验证可以在 Discourse 中禁用 SSO/OpenID,并使用相同的电子邮件地址登录 Discourse。我已验证这些相同的凭据是否适用于我的 SSO 提供商。

当我重新启用 Discourse 中的 OpenID 时,我通过 SSO 提供商成功进行身份验证,但随后仍然会进入 Discourse 屏幕,要求创建帐户。该屏幕上的所有三个值(电子邮件、用户名和全名)均由 SSO 提供商自动填充。

我尝试关闭上述所有设置,但此行为没有改变。

1 个赞

您能否前往 discourse.example.com/logs 检查是否有任何与 SSO 相关的警告或错误?

1 个赞

好的,是的,没有 SSO 错误,也没有 OIDC 错误。我也开启了 OpenID 的详细日志记录。

1 个赞

抱歉,我现在没有建议。如果找到,我会回复。