集成到自定义认证系统中,邮箱不是唯一的情况?

@simon @supermathie 你们到目前为止提供了极大的帮助,我希望可以稍微偏离这个话题,寻求一些后续的帮助?

我已经按照 Install Discourse for development using Docker 的指南,在本地机器上安装了 Discourse 进行测试。我似乎找不到其他关于如何为本地测试进行设置的指南?Wiki 似乎只涵盖了生产环境的设置,这需要预先设置好域名/DNS/SMTP。在我们实现所有功能之前,我们不想将论坛公开,因此我们需要一个不需要这些设置的本地测试环境。

我已经按照该指南成功运行了它,并在我们站点的本地实例上实现了 SSO,但到目前为止遇到了 2 个问题:

  1. 重定向到 return_sso_url 似乎只起了一半作用?在我的例子中,URL 是 http://localhost:3000/session/sso_login。它确实成功重定向了,但是第一次重定向后,它将我发送到 http://localhost:3000,这只会显示错误 RuntimeError: Discourse does not support compiling scss/sass files via Sprockets。我找到的关于这个错误的唯一一个帖子是 https://meta.discourse.org/t/error-when-building-discourse-does-not-support-compiling-scss-sass-files-via-sprockets/305402,但那个帖子似乎没有进展。发帖人没有接受任何解决方案,唯一发生的事情是询问 RAM 和交换空间大小(运行此程序的机器有 32GB RAM 和 2GB 交换空间。所以我怀疑是这个问题?)
  2. avatar_force_update 似乎没有被遵守?或者至少,对于管理员用户来说不是这样?我在站点设置中启用了 discourse connect overrides avatar,并在 SSO 响应负载中同时设置了 avatar_urlavatar_force_update。但是,在登录管理员帐户(该帐户链接到我的外部帐户)时,它没有显示我的外部个人资料图片?通过 API 检查管理员用户的数据时,我可以看到 external_avatar_url 确实被正确设置了,只是它似乎没有在 UI 中使用?