寻求 Discourse 的 Slack 登录/SSO 支持

能否在 Discourse 中添加 Slack 作为单点登录(SSO)选项? 我看到过一篇关于此问题的旧帖子(链接如下),但该帖子已被删除或设为私密。欢迎提供任何建议。我知道有 chat-integration 插件,但我希望允许 Slack 用户也使用其账号登录。谢谢。

Slack 为单点登录(SSO)提供 SAML 支持,但仅限 Plus 或企业版计划客户:

您是否使用了这些层级之一?

官方 SAML 插件已存在,地址如下:

https://github.com/discourse/discourse-saml/

该文章介绍的是如何将 Slack 用作 SSO 客户端。
有一种“使用 Slack 登录”功能,它使用 OAuth2:Slack platform overview | Slack Developer Docs

4 个赞

我的目标是添加 Screen Shot 2020-04-22 at 2.56.25 PM

登录 文档非常完美,可以作为我们 Discourse 的一项出色新功能。我已启用了聊天集成,这也很棒。不过,关于如何将此按钮作为自定义选项添加到 Discourse 并使其通过测试,我有些不太清楚。一旦解决,这种社交登录方式将与 GitHub 和 Patreon 等类似的社交登录方式很好地配合使用。

按照文档说明,我已在 Slack 中创建了一个具有 OAuth 权限的应用……现在正处于创建按钮的步骤

Slack 显示的内容:

应用 ID
客户端 ID
签名密钥
客户端密钥
验证令牌
OAuth 访问令牌
redirect url 已添加为 https://example.domain.com/slack/auth

我在 Discourse 中看到的选项:

enable sso provider
sso url – 单点登录端点的 URL(必须包含 http:// 或 https://)
sso secret – 用于加密验证 SSO 信息的密钥字符串,请确保其长度不少于 10 个字符

尝试根据以下文档进行设置:

Slack 支持以下权限:
identity.avatar - 查看用户的 Slack 头像
identity.basic - 查看用户身份信息
identity.email - 查看用户的电子邮件地址
identity.team - 查看用户的 Slack 工作区名称

如果能显示用户的 Slack 头像以及可能的工作区名称就好了。另外,获取他们的电子邮件地址似乎也很有用,因为在使用 Discourse 时,这至关重要。

好的,看来按照该指南启用 SSO 将完全覆盖所有其他登录/注册设置。

我通过以下方式成功实现了 Slack 的 SSO:
sso url = https://slack.com/oauth/v2/authorize?user_scope=identity.basic&client_id=EXAMPLE
sso secret = 客户端密钥

但我只想将其添加为一个按钮。欢迎大家就 如何将此按钮集成到 Discourse 中 提供建议!:+1:
Screen Shot 2020-04-22 at 2.56.25 PM

我现在正在研究如何通过以下链接添加该按钮:

1 个赞

嘿,我一直在尝试跟进并查看此事,不知你的 Discourse 社区目前进展如何?

2 个赞

所有组件都已就绪,但当时我没能弄明白。现在过去了一段时间,我建议你可以试试!以管理员身份使用 Slack OAuth 面板,尝试将其添加到 Discourse 中。

2 个赞