扩展头部按钮

您好 - 我们继承了一个已建立的 Discourse 论坛。我想修改“创建账户”标题按钮的功能。

我设法安装了 Ember Chrome 插件,并用它检查了按钮 - 它显示了一个路径:

​/​var​/​www​/​discourse​/​app​/​assets​/​javascripts​/​discourse​/​node_modules​/​.embroider​/​rewritten-app​/​components​/​header​/​auth-buttons.js

我不确定,但我认为相关的 JS 在这里?

我可以访问论坛的管理员面板,可以深入了解“组件”,但我没有看到这些按钮的条目。我确实看到了一些使用的“测试”组件,我尝试启用其中一个并将 auth-buttons.gjs 文件的内容复制到公共头部部分,但在尝试保存时出现了错误。

所以我的问题是 - 如何扩展和自定义这些按钮的功能?

提前感谢。

你好,您想用这些按钮做什么?

我们希望用户通过我们的主站进行注册——然后账户登录即可用于论坛……

您确实需要使用 SSO。一旦正确配置了 SSO 提供商,Discourse 将自动适配。

5 个赞

我们已在使用 SSO - 论坛通过与我们主站点相同的提供商对用户进行身份验证。但是,当用户在论坛上注册帐户时,我们只想将他们重定向到主站点 - 有什么最好的方法可以做到这一点?

您确定真的要这样做吗?从用户的角度来看,有人试图欺骗他们。他们对论坛感兴趣,注册后却发现自己身处别处。

1 个赞

禁用所有其他身份验证方法(包括本地登录),只保留 SSO 作为登录选项。这将自动将用户发送到您的主站点进行登录。

4 个赞

如果你正确设置了,我相信它会在登录后重定向回来?

身份验证有效 - 我们希望自定义“注册”按钮以转到主站点……

这就是我上面建议的。

2 个赞

我也可以。如果设置得当,开箱即用的登录和注册按钮将转到主站点。您无需更改默认 UI。

1 个赞

所以应该在管理员的某个地方有一个选项,我可以在其中指定注册过程的外部网址?

不,这些参数由您的 SSO 提供商提供。Discourse 只会在标题中显示“登录”按钮,并将用户发送到 SSO 提供商提供的身份验证端点。

如果……我见过太多类似的解决方案。主要目的是将用户永久转移回发生销售的主站。但如果目的是与谷歌类似,即进行短暂的授权然后返回论坛,那就太好了。

1 个赞

你好 :wave:

这是一个主题组件,您可以添加自定义的注册按钮。我刚刚更新了它,使其能够与新的核心更改一起使用。

如果禁用了本地登录,按钮将直接转到 sso 身份验证?

是的。如果SSO是唯一的身份验证方法,就会发生这种情况。

1 个赞

对了,如果 SSO 只负责身份验证,当需要“创建账户”转到我的主站点时,它在这里有什么帮助?

正确配置 SSO 后将不会显示注册按钮。然后,您可以使用 @Don 上面链接的组件来添加自定义创建账户按钮。