Auth 如何在 Django 和 Discourse 之间工作(一起工作)

How would Auth work between Django and Discourse (working together)

我需要一个外观现代的自托管论坛解决方案(与 django 项目一起使用)

我能看到使用的唯一合理的东西是话语,但这给了我一个问题...我如何处理两者之间的身份验证?它需要比 auth 稍微深一点,因为我的 django 站点中也需要一些用户表。

我一直在阅读一些 SSO 选项,但我不清楚如何解决这个问题。这是我脑子里大致的过程...让我知道它是否听起来连贯...

  1. 使用 Discourse 身份验证(因为它已经具有社交身份验证和配置文件以及大量用户表。

  2. 为 django 制作一些 SSO 挂钩,以便它接受 Discourse 登录

  3. 创建 Discourse User 帐户后,我将(从 discourse 实例)发送一个 API 请求,该请求将在我的 django 实例中创建一个用户,其中包含适合我的用户表Django 网站。

这听起来是个好主意吗?

这听起来很有道理。为确保用户同时登录,您可以将其中一个授权放在另一个前面。例如,如果 discourse 在 Django 前面,您可以使用内置的 RemoteUserMiddleware 之类的东西。

一般来说,如果它们要托管在不同的域上,请查看 JWT。结合不同的服务已经取得进展,你唯一需要的就是能够解码 JWT 令牌,现在很多语言都以库的形式提供。