创建 DiscourseConnect 登录链接

我认为发生的情况是,当您访问类似 https://forum.example.com/session/sso?return_path=/t/some-slug/23 这样的路由时,Discourse 会将您重定向到 discourse connect url,无论您是否已登录 Discourse。这发生在这里:

然后,SSO 提供商网站需要处理已登录网站的用户的情况。WP Discourse 插件是这样处理的:

该代码(else 语句后面的部分)处理已登录 WordPress 的用户的情况。他们将被重定向回由 return_path 查询参数提供的 URL。因此,从用户的角度来看,他们被直接带到 return path URL,但实际发生的是他们被重定向到 SSO 提供商网站,然后再返回 Discourse。

我认为您网站上的问题在于您的 SSO 代码没有处理用户已登录网站的情况。

我现在没有设置来测试这一点。我可能错误地解读了代码。在查看代码之前,我认为 Discourse 端会运行一个检查,以查看用户是否已登录 Discourse,但这似乎不是它的工作方式。

3 个赞