来自桌面应用程序(和基础域名网站)的授权

我最近配置了单点登录(SSO),让用户可以使用运行在子域名(forum.mysite.com)上的 Discourse 账号登录我的主域名网站(mysite.com)。但现在我遇到了问题,因为我还需要通过桌面应用程序登录 Discourse。

一些背景信息:我正在为这款桌面应用运行一个仅限邀请的测试版,我希望在启动桌面应用之前确认用户是否有权限访问论坛。

理想情况下,我可以在桌面应用中提供一个基本表单,并向论坛发送 POST 请求以验证用户身份。我原本以为如果 Discourse 能作为 OAuth2 提供商,问题就能解决?但我觉得它似乎不支持,我也找不到实现这一需求的方法,也许是我遗漏了什么。

我意识到这是一个比较特殊的用例,而且我对用户/SSO/OAuth 等相关领域还不太熟悉。如果我的思路有误,非常希望大家能指点迷津:blush:

Discourse 目前无法作为 OAuth2 提供商(不过,我很期待有一天能看到实现这一功能的插件——这绝对是可行的)。

目前,您可以使用 Discourse 自带的 SSO 协议来实现这一功能。事实上,我们在 discourse.org 的内部工具中 routinely 使用这种方法:

另一个选项(可能更适合“桌面应用程序”场景)是使用“用户 API 密钥”流程。我们在 Android/iOS 应用上正是通过这种方式对用户进行身份验证的:

那个“用户 API 密钥”看起来完美!
我这就试试,谢谢!