new message can be sent only when user have token
This commit is contained in:
@@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user