使用自定义身份验证

大家好 :waving_hand:

目前我们正尝试与自家网站的基于 Cookie 的身份验证进行集成。我们有一个回调 URL,通常会向其传递各种参数以验证用户身份——但我们在尝试以相同方式在 Discourse 中验证用户时遇到了困难。

我一直在尝试使用 (GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse · GitHub),但发现将其与我们现有的设置集成起来相当困难。

请问是否有办法配置 Discourse 的用户认证方式,以便我们可以使用自己的方法?如果需要,我们很乐意提供任何补充信息或代码。非常感谢大家的建议!

嗨,欢迎来到 Meta!:grinning_face:

这很大程度上取决于您是如何构建身份验证系统的。

您能解释一下它是如何工作的,或者提供一个您网站的链接吗?

嘿,Alexander——目前的工作方式如下:

  1. 用户输入邮箱,会收到一个包含多种 URL 参数的魔法链接(用户 ID、时间戳、用于会话认证的带密钥的哈希值),该链接指向我们后端的回调 URL。
  2. 回调函数完成用户认证后,会创建 Cookie 并在数据库中建立会话。

这是一个相对简单的设置,但与 OAuth2 插件的兼容性并不理想。

您好 @cb-candor,您是如何解决这个问题的?我们正在进行一个完全相同的用例。或者,@Alexander,您能提供什么建议吗?