尝试连接到 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");
我目前正在为统一引擎开发一个实时 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");