大部分上下文信息都在标题中。
我们正在进行单点登录(SSO)登录方式的调整。调整后,用户可以在不离开 Discourse 网站的情况下完成登录。
具体实现方式是:通过嵌入一个指向 SSO 提供方的 iframe,并在该 iframe 返回令牌后,再重定向到 sso_login 地址。
大部分上下文信息都在标题中。
我们正在进行单点登录(SSO)登录方式的调整。调整后,用户可以在不离开 Discourse 网站的情况下完成登录。
具体实现方式是:通过嵌入一个指向 SSO 提供方的 iframe,并在该 iframe 返回令牌后,再重定向到 sso_login 地址。
为什么不通过插件架构进行修改呢?这样一来,问题就迎刃而解了。
我还在查看源代码,所以也许它能行。但我越来越觉得,插件架构给我的控制权还不够,无法实现我需要的功能。
我认为您需要考虑整体架构,而不要过于执着于使用嵌入式 iframe。例如,弹出式登录窗口和回调是标准做法,通过插件实现也非常直接。维护 Discourse 的分支将是一种极其低效的方法,并会持续带来噩梦般的维护负担。相比之下,如果构建得当,插件对变更具有极强的适应性,且所需的维护工作要少得多。
那些尝试维护 Discourse 分支版本的人现在都深感后悔。你要么需要一名全职开发人员来整合变更,要么永远无法升级。最终,你还是会转向使用插件。
我怀疑你完全可以通过插件实现所需功能,或者通过提交 PR(拉取请求)来实现。如果你认为无法在插件中解决你的问题,请说明具体原因;或者在 Marketplace 频道寻求帮助。
我作为业务的一部分管理 Discourse(https://www.literatecomputing.com/discourse-server-maintenance/),目前有一些客户需要自定义配置,但无法承担企业级托管费用。我很乐意与你合作,但不会考虑支持任何分支版本。
如果可能的话,使用插件会更好。
我将继续调查,无论如何,了解我们的协议与 OAuth 的分离程度是有益的。
我还可以确认,即使在 Discourse.org 的企业版计划中,我们也不会托管 Discourse 的任何分支版本。您必须为所做的更改创建插件或主题组件。