如何获取用户或“user-api-key”的cookie,而无需用户交互或浏览器重定向?

我目前正在开发一个应用程序,该应用程序仅将 Discourse 用作 API。新功能与私信(PM)有关,我们正在使用 private_messages。这里的问题是我们需要通过 MessageBus 接收来自这些私有主题(private_messages)的更新,而目前我们使用 Username: user.username 和 Api-Key: admin_api_key 的身份验证方法不能仅用于 MessageBus 和私有主题这种情况;它适用于所有其他情况。

因此,我们需要一种方法来获取 cookie 并将其注入到我们调用 MessageBus 时的前端,或者创建一个“user-api-key”而不是 api-key。但我们只能通过 API 来完成此操作,因为我们的后端将与 Discourse 后端通信并配置所有内容。前端将只负责接收 cookie 或 user-api-key 并将其添加到 MessageBus 请求中。

1 个赞

我假设这是一个笔误,您指的是私人消息(PMs)?私信(DMs)与 #聊天 有关。

1 个赞

哦,太棒了!

没有用于为其他用户创建 UserApiKey 对象的 HTTP API 端点。/user-api-key 端点只为已登录用户创建密钥。

使用 MessageBus 会很方便,但我不太确定如何解决身份验证问题。您可能需要进行轮询和/或依赖网络钩子(webhook)来处理私信(PM)的更新。

是的!那些主题的 archtype: private_message

1 个赞