【发布时间】:2022-11-02 01:54:43
【问题描述】:
我正在尝试与在 Pterodactyl 软件上运行的服务器建立 websocket 连接。 但我不知道如何授权自己使用翼手龙。
文档说:
如何连接
连接到 websocket 地址(在本例中为“wss://pterodactyl.file.properties:8080/api/servers/1a7ce997-259b-452e-8b4e-cecc464142ca/ws”)
像这样将令牌发送到 websocket: {"event":"auth","args":["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Ij..."]}
令牌持续大约 10-15 分钟,一旦您需要发送带有 {"event":"token expiring"} 和 {"event":"token expired"} 的新令牌,websocket 会通知您我在我的代码中尝试过:
const { WebSocket } = require('ws'); const ws = new WebSocket(`wss://example.com:8080/api/servers/myServerUUID/ws`); ws.on(`open`, () => { ws.send({ event: "auth", args: [`mySuperSecretToken`] }); }); ws.on(`error`, (err) => { console.log(err); }); ws.on(`message`, data => { console.log(data); });但它总是给我这个错误:
Error: Unexpected server response: 403 at ClientRequest.<anonymous> (C:\Users\RappyTV\Documents\Bot\node_modules\ws\lib\websocket.js:886:7) at ClientRequest.emit (node:events:527:28) at HTTPParser.parserOnIncomingClient (node:_http_client:631:27) at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17) at TLSSocket.socketOnData (node:_http_client:494:22) at TLSSocket.emit (node:events:527:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at TLSSocket.Readable.push (node:internal/streams/readable:234:10) at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
【问题讨论】:
标签: javascript authentication websocket ws