启用SSO时使用node.js (discourse-sdk) API?

我正在使用 node.js API 客户端(https://github.com/99x/discourse-sdk)与我的论坛进行简单的集成。

我立刻遇到了问题,因为我的论坛配置了 Discourse SSO(也称为 DiscourseConnect)。在进行 API 请求时,我收到了一个错误,提示 API 消费者未登录到我的 SSO 提供商网站。

作为一个实验,我修改了 discourse-sdk 的 node.js API 客户端,使其请求包含我的 SSO 提供商网站所期望的 Cookie。这让我取得了一些进展。

然而,我的 node.js 代码接收到的负载是 Discourse 论坛的 HTML 渲染结果,而不是我预期的数据(JSON 格式)。

我认为我可能采取了错误的途径。在使用 API 时,是否有办法绕过 Discourse SSO(例如,通过查询字符串参数、不同的 API 端点,或更改 Discourse 设置)?

感谢您的帮助。

谢谢

啊,我想我已经自己解决了这个问题。

我需要修改 discourse-sdk,在其请求中包含“Accept”json 头:

request.get({
        url: getUrl,
        headers: {
            'Accept': 'application/json'
        },
    },

看起来 discourse-sdk 本身可能一开始就无法正常工作,除了我的 SSO 问题之外。