登出 POST 请求

您好,我最近一直在尝试构建一个单点登出系统,使得在我的网站上登出时,用户也会自动从 Discourse 账户中登出。根据这个网站 https://meta.discourse.org/t/discourseconnect-official-single-sign-on-for-discourse-sso/13045 上的说明:

登出用户
如果需要,您可以使用 POST 请求调用管理端点 /admin/users/{USER_ID}/log_out 来登出系统中的任何用户。
要配置 Discourse 在登出时重定向到的端点,请查找“登出重定向”(logout redirect)设置。如果此处未设置任何 URL,则会将用户重定向回在“Discourse Connect URL”(discourse connect url)中配置的地址。

我已为此创建了一个 API 密钥,并使用 https://reqbin.com/https://MY_DISCOURSE_DOMAIN/admin/users/USER_ID/log_out?api_key=XXXXXXXXXXXXXXXXXXXXXX&api_username=system 发送了 POST 请求。
对于该 API 密钥,我允许系统用户(system)作为操作用户。如果任何人能指导我为什么此方法不起作用,我将不胜感激。

我已经解决了这个问题,所以在此留下其他论坛的链接,方便像我一样的人更容易实现。原来,半年前建议将 api_key 和 api_username 放在 URL 中的其他帖子已失效。现在进行 POST 请求的新方法是遵循以下 论坛 中的步骤。

在我的情况下,我通过执行以下 curl 请求使某人登出:

curl -X POST "https://DICOURSE-WEBSITE/admin/users/USER-ID/log_out" -H "Content-Type: multipart/form-data;" -H "Api-Key: INSERT-API-KEY" -H "Api-Username: INSERT-API-USERNAME"

很高兴听到你已成功解决问题!

你方便提供那些过时主题的链接吗?以便我们进行更新或删除。

这是过时的主题 https://meta.discourse.org/t/how-to-obtain-the-user-id-so-i-can-issue-a-logout-api-call/102033/5。其他主题之所以看起来过时,只是因为我刚读过这个。

谢谢,我已在该主题中添加了几条说明。