new message can be sent only when user have token

This commit is contained in:
GitProtogen
2026-03-06 11:27:51 +01:00
parent 7e04e37bb1
commit 90254a43bb
+6 -3
View File
@@ -15,6 +15,7 @@ use Symfony\Component\Routing\Matcher\UrlMatcher;
use ComCen\Http\LoginController; use ComCen\Http\LoginController;
use ComCen\Http\RegisterController; use ComCen\Http\RegisterController;
use ComCen\Database\Handler; use ComCen\Database\Handler;
use \ComCen\Security\TokenHandler;
class WebSocketServer implements MessageComponentInterface class WebSocketServer implements MessageComponentInterface
{ {
@@ -38,11 +39,13 @@ class WebSocketServer implements MessageComponentInterface
public function onMessage(ConnectionInterface $from, $msg): void public function onMessage(ConnectionInterface $from, $msg): void
{ {
$decodedMsg = json_decode($msg, true);
if (!$decodedMsg) $from->send("not or empty json");
if (!TokenHandler::getTokenOwnership($decodedMsg['token'])) $from->send("invalid credentials");
foreach ($this->connectedUsers as $conn) { foreach ($this->connectedUsers as $conn) {
if ($from->resourceId !== $conn->resourceId) { $conn->send($decodedMsg["message"]);
$conn->send("From user " . $from->resourceId . ": " . $msg);
}
} }
$from->send("Message sent to others"); $from->send("Message sent to others");
} }