forked from Alex/Pterodactyl-Panel
Change to support websocket JWT connections
This commit is contained in:
parent
18c4b951e6
commit
030b8ed4fd
@ -63,6 +63,7 @@ class WebsocketController extends ClientApiController
|
||||
->expiresAt($now->addMinutes(15)->getTimestamp())
|
||||
->withClaim('user_id', $request->user()->id)
|
||||
->withClaim('server_uuid', $server->uuid)
|
||||
->withClaim('permissions', ['connect', 'send-command', 'send-power'])
|
||||
->getToken($signer, new Key($server->node->daemonSecret));
|
||||
|
||||
$socket = str_replace(['https://', 'http://'], ['wss://', 'ws://'], $server->node->getConnectionAddress());
|
||||
|
@ -25,7 +25,7 @@ export class Websocket extends EventEmitter {
|
||||
// Connects to the websocket instance and sets the token for the initial request.
|
||||
connect (url: string) {
|
||||
this.url = url;
|
||||
this.socket = new Sockette(url, {
|
||||
this.socket = new Sockette(`${this.url}?token=${this.token}`, {
|
||||
onmessage: e => {
|
||||
try {
|
||||
let { event, args } = JSON.parse(e.data);
|
||||
@ -75,7 +75,6 @@ export class Websocket extends EventEmitter {
|
||||
this.socket && this.socket.send(JSON.stringify({
|
||||
event,
|
||||
args: Array.isArray(payload) ? payload : [ payload ],
|
||||
token: this.token || '',
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user