仅 SSO 登录的用户自行删除账户时,不会重定向到 `logout redirect`,而是认证 URL,导致了循环

上下文:禁用本地登录、禁用匿名访问并通过 Basic OAuth 插件添加 OAuth2 提供商后,当用户单击注销时,将遵守 logout redirect URL。

错误:但是,当用户尝试自行删除其帐户时,他们不会被重定向到 logout redirect URL,而是返回到论坛基本 URL,而论坛基本 URL 又会重定向到 SSO 身份验证 URL,因为禁用了匿名查看,所以不会给出任何提示。
由于用户仍然登录到 SSO 提供商,因此会立即重新创建其帐户。

我认为最直接的修复方法是在帐户自行删除后简单地遵守 logout redirect 设置。
进一步的增强功能是保留一个已自行删除的用户列表,并在后续使用相同详细信息重新创建帐户时,向他们显示一个提示,解释他们正在尝试重新创建以前已删除的帐户,从而使他们能够避免这种情况。如果管理员可以选择要求工作人员手动激活这些重新创建的帐户,那就更好了。

2 个赞

这是我们要讨论的插件吗?

另外——我正在重新学习 Oauth——但我猜我需要设置一个本地 Oauth2 提供商来测试这个?是这样吗?你有什么推荐的吗?@nat

太棒了!

你在这里分享的那个插件的自述文件(readme)看起来是个不错的起点。

1 个赞

您好 Chris,

是的,在我的情况下,我使用了您提到的插件,并专门将其与 Authentik 作为提供商一起使用,一切都按预期工作,除了由于所述的重定向循环而导致在删除帐户时重新注册。

祝好

1 个赞

已合并。redirect to /login after account delete to prevent recreation of sso account by marstall · Pull Request #22575 · discourse/discourse · GitHub

2 个赞