尝试连接到 websocket 时出现错误 403 api

Error 403 when trying to connect to websocket api

我目前正在为统一引擎开发一个实时 kik 连接器。
为了接收消息,我使用我的用户名和密码连接到 websocket 端点。
遗憾的是,我得到了一个每次都是错误 403。

还有什么我需要注意的吗?

一些示例:

$ curl -XPOST https://apiv2.unificationengine.com/v2/connection/list -u $USER_NAME:$PASSWORD --data "{}" -k -s | jq
{
  "status": 200,
  "info": "200 OK",
  "connections": {
    "kik": {
      "uri": "kik://kik_user@kik.com"
    }
  }
}

网络套接字:

$ wscat --auth "$USER_NAME:$PASSWORD" -c wss://apiv2.unificationengine.com/v2/ws/start

error: Error: unexpected server response (403)

你在使用这个库吗? https://github.com/websockets/wscat

这个库支持这种认证方式吗?

wscat --auth "$USER_NAME:$PASSWORD" -c wss://apiv2.unificationengine.com/v2/ws/start

对此进行了研究,wscat 正在使用 npm ws,https://github.com/websockets/ws 用于 webscoket 连接。

你能这样试一下header并检查

var ws = new WebSocket('wss://apiv2.unificationengine.com/v2/ws/start', {
    origin: 'https://apiv2.unificationengine.com',
    headers: { Authorization: 'base64 auth' }
});

你可以在 nodejs 中像这样创建 base64 身份验证

var auth = "Basic " + new Buffer(USER_ACCESS_KEY + ":" + USER_ACCESS_SECRET).toString("base64");