由我们托管?此插件在我们的商业版和企业版计划中可用。Amazon 和 Microsoft 登录 | Discourse - 文明讨论
|
|
|
 |
摘要 |
启用用户使用其 Microsoft 账户(即 Office 365 或 Microsoft 365 账户)登录 |
 |
安装指南 |
此插件已捆绑在 Discourse 核心中。无需单独安装该插件。 |
摘要
Microsoft 身份验证允许用户使用其 Microsoft 账户(也称为 Office 365 或 Microsoft 365 账户)登录到您的 Discourse 论坛。这简化了使用 Microsoft 服务的组织的登录流程。
功能
- 允许用户使用其 Microsoft 凭据登录
- 支持多租户和单租户配置
- 与 Microsoft Azure Active Directory 集成
- 简化用户注册和登录
配置
要为您的 Discourse 论坛设置 Microsoft 身份验证:
-
访问 Azure 门户的应用注册页面
-
注册一个新应用程序:
- 选择一个名称(通常是您的站点名称)
- 在“支持的账户类型”下,选择最适合您需求的选项
-
以以下格式将您的站点添加为 Web 的重定向 URI:
https://your.discourse.forum/auth/microsoft_office365/callback
-
保存更改
-
在左侧边栏菜单中访问证书和密码,然后单击新建客户端密码
- 添加一个简单的描述
- 在“过期”下选择 24 个月(注意:您需要续期)
- 复制值(这是应用程序密钥)并保存以供插件设置使用
-
访问概述(在左侧边栏中)并复制应用程序(客户端 ID)
-
在 Discourse 管理区域中,转到设置并搜索“microsoft auth”
-
输入上一步中的应用 ID 和密钥
单租户身份验证问题
如果您将 Microsoft 应用程序配置为 single_tenant,一些用户在登录时可能会遇到问题。这是因为用于登录的电子邮件被视为不可信,系统无法自动将它们链接到现有的 Discourse 账户。
要解决此问题,用户可以:
- 在注册表单底部查找“已有账户?”部分
- 单击提供的链接以完成账户链接过程
- 完成身份验证步骤,将其 Microsoft 账户连接到现有的 Discourse 账户
另一个选项是启用 microsoft auth email verified 站点设置,如果管理员确信所有用户都拥有已验证的电子邮件。这确保使用 Microsoft 进行身份验证时,具有现有账户的返回用户不会创建重复账户。
其他配置选项
您可以通过访问管理 > 设置区域并搜索“microsoft auth”来更新所有 Microsoft 身份验证设置。
对于单租户设置,您需要您的租户 ID,您可以在 Azure 门户租户属性 中找到它。
其他资源
25 个赞
시온_강
(시온 강)
41
我正在尝试使用该插件,但遇到了问题。
您能给我一些建议吗?
nathank
(Nathan Kershaw)
42
由于我在更新此插件的配置时(又一次)遇到了麻烦,因此我创建了这个 PR:
问题在于,Microsoft 应用面板为“Secret”提供了三个看起来很像的字段——Client ID、Value 和 Secret ID。在没有指导的情况下,我在两次处理这个问题时都选择了错误的字段,并且怀疑我不是唯一一个遇到这种情况的人!
moggleif
(Morgan Johansson)
43
我刚试了这个插件,它对单租户不起作用。
为什么?
option :client_options,
site: "https://login.microsoftonline.com",
authorize_url: "/common/oauth2/v2.0/authorize",
token_url: "/common/oauth2/v2.0/token"
“common”这个词是问题所在。
似乎需要将其替换为单租户的租户 ID。
如果您有 Microsoft 帐户,可以在此处找到您的租户 ID:Microsoft Azure
我还没有尝试自己进行更改。也许我会。
如果不行,任何考虑将其用于单租户的人,都不必尝试了,目前它将不起作用。
请参阅下面的附图,了解您将看到的错误类型。

moggleif
(Morgan Johansson)
44
好的,我以前从没用过 Ruby 编码,而且我有多年的编码和处理技术事务的经验。但现在已经完成了。它现在也适用于单租户设置。
3 个赞
moggleif
(Morgan Johansson)
46
太棒了!
这是我第一次为社区做贡献。我想,也不会是最后一次。 
2 个赞
此插件现已作为 Bundling more popular plugins with Discourse core 的一部分,随 Discourse 核心一起提供。如果您是自托管用户并使用了此插件,则需要在下次升级前将其从您的 app.yml 中移除。