IBM bluemix 上 NodeRED 中的 WebSocket Headers

WebSocket Headers in NodeRED on IBM bluemix

我知道 WebSocket api 未定义 header。

  1. 根据 this 我们可以使用 URL.
  2. 设置基本身份验证

ws = new WebSocket("ws://username:password@example.com/service")

在 NodeRED(WebSocket IN 节点)中需要验证仅使用提供的用户名和密码连接的用户。请让我知道如何在 NodeRED 中处理此问题?

  1. 下一个选择是 Sec-WebSocket-Protocol header 在客户端上。我也尝试过。但是Node-RED无法查看,我设置了什么。
var token = "eyJhbGci";
var options = {
    headers: {
        "Authorization" : token
    }
};
var ws = new WebSocket("wss://example.com/path", options);

请告诉我如何在 NodeRED 中查看这些客户端输入并进行正确的客户端身份验证?我只看到以下内容。

{ "payload": "Hi1", "_session": { "type": "websocket", "id": "fddc366c.0223c8" }, "_msgid": "47061971.b8f9e8" }

目前我认为不可能。

Node-RED 无权访问将 HTTP 连接转换为 WS 连接的 HTTP 升级请求,这是必须进行任何身份验证的地方。

可能应该更详细地研究一下,看看是否有什么可以做的。