在用户登录discourse时触发在外部服务上的账户创建/登录

非常感谢您的讨论。

我阅读了链接:Use Discourse as an identity provider (SSO, DiscourseConnect) - #8 by reverend_paco

但我认为这适用于我想将用户发送到二级站点并在那里管理身份验证的情况。

在我的例子中,我在 discourse 站点上运行了一段 JS。我想让该 JS 调用同一服务器上的一个路径,并为 pocketbase 获取一个 cookie。

我实际上在 discourse 前面使用了一个 nginx 代理,所以我添加了一个特殊的路由 /pb/auth(例如)。当我的 JS 命中该路由时,一个后端代理服务器(不在 discourse 内部)会接受该连接,并尝试解码 _t 会话 cookie。

我之所以这样做,是因为它似乎比添加一个 discourse 插件(我对它和开发设置不太熟悉等)要容易一些。如果只是用 base64 和 sha 哈希解码 cookie 的简单方法,我认为这可以提供一个安全的有效载荷来告诉我用户是谁。

但是,如果您认为有一个简单的方法可以构建一个插件来将此路由添加到 discourse,我非常有兴趣尝试一下。这似乎是长远来看正确的方法。但我是一名老式的 Perl 程序员,所以我更喜欢走捷径,而我的 nginx 路由似乎更省事。 :slight_smile: