我们大约在两年前上线了 Discourse,并且我们使用 SSO 从我们的主后台系统作为身份验证提供商。它使用外部 ID(GUID)。
我们正准备将主后台系统更换为另一家供应商。他们支持 OAuth2/OpenID,但当我们转换为这个新系统时,我们用户的外部 ID(GUID)将会改变。因此,我想知道是否有人经历过这种情况,以及我是否需要以某种方式大规模更新 Discourse 中当前存储的外部 ID。
我们大约在两年前上线了 Discourse,并且我们使用 SSO 从我们的主后台系统作为身份验证提供商。它使用外部 ID(GUID)。
我们正准备将主后台系统更换为另一家供应商。他们支持 OAuth2/OpenID,但当我们转换为这个新系统时,我们用户的外部 ID(GUID)将会改变。因此,我想知道是否有人经历过这种情况,以及我是否需要以某种方式大规模更新 Discourse 中当前存储的外部 ID。
只要用户的电子邮件地址保持不变,您应该就没问题。
那是因为您正试图注册,而实际上应该登录(因为该账户已存在)。
但我并不是想注册。我访问主页,然后点击“登录”;我看到了我 SSO 提供商的登录页面,我成功进行了身份验证,但在输入密码后,我到达了“创建您的帐户”页面,但我从未点击过“注册”。
为了进行故障排除,我建议从仅包含必需设置开始。请确认双方都存在一个具有该电子邮件的用户。
您是在 Discourse 中手动填写该电子邮件,还是由 SSO 服务器自动填充的?
我认为可能发生的情况是,该电子邮件在 Discourse 中与另一个用户名相关联,而您的 SSO 服务器发送了一个新用户名,从而导致了此冲突。
Discourse 日志中是否有任何与 SSO 相关的内容?这可能有助于查明问题的确切原因。
谢谢。我已验证可以在 Discourse 中禁用 SSO/OpenID,并使用相同的电子邮件地址登录 Discourse。我已验证这些相同的凭据是否适用于我的 SSO 提供商。
当我重新启用 Discourse 中的 OpenID 时,我通过 SSO 提供商成功进行身份验证,但随后仍然会进入 Discourse 屏幕,要求创建帐户。该屏幕上的所有三个值(电子邮件、用户名和全名)均由 SSO 提供商自动填充。
我尝试关闭上述所有设置,但此行为没有改变。
您能否前往 discourse.example.com/logs 检查是否有任何与 SSO 相关的警告或错误?
好的,是的,没有 SSO 错误,也没有 OIDC 错误。我也开启了 OpenID 的详细日志记录。
抱歉,我现在没有建议。如果找到,我会回复。