IBM bluemix 上 NodeRED 中的 WebSocket Headers
WebSocket Headers in NodeRED on IBM bluemix
我知道 WebSocket api 未定义 header。
- 根据 this 我们可以使用 URL.
设置基本身份验证
ws = new WebSocket("ws://username:password@example.com/service")
在 NodeRED(WebSocket IN 节点)中需要验证仅使用提供的用户名和密码连接的用户。请让我知道如何在 NodeRED 中处理此问题?
- 下一个选择是 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 升级请求,这是必须进行任何身份验证的地方。
可能应该更详细地研究一下,看看是否有什么可以做的。
我知道 WebSocket api 未定义 header。
- 根据 this 我们可以使用 URL. 设置基本身份验证
ws = new WebSocket("ws://username:password@example.com/service")
在 NodeRED(WebSocket IN 节点)中需要验证仅使用提供的用户名和密码连接的用户。请让我知道如何在 NodeRED 中处理此问题?
- 下一个选择是 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 升级请求,这是必须进行任何身份验证的地方。
可能应该更详细地研究一下,看看是否有什么可以做的。