Refactored SubscriberInterface
This commit is contained in:
@ -25,7 +25,7 @@ class SseSubscriber implements SubscriberInterface
|
||||
$this->stream->write($message->toString());
|
||||
}
|
||||
|
||||
public function isAuthorized(): bool
|
||||
public function isAuthenticated(): bool
|
||||
{
|
||||
return $this->request->getAttribute('authorized');
|
||||
}
|
||||
|
@ -6,11 +6,32 @@ use NoccyLabs\Mercureact\Broker\Message;
|
||||
|
||||
interface SubscriberInterface
|
||||
{
|
||||
/**
|
||||
* Deliver a message to the subscriber.
|
||||
*
|
||||
* @param Message $message
|
||||
* @return void
|
||||
*/
|
||||
public function deliver(Message $message): void;
|
||||
|
||||
public function isAuthorized(): bool;
|
||||
/**
|
||||
* Returns true if the subscriber has athenticated.
|
||||
*
|
||||
* @return bool true if the subscriber has provided valid credentials
|
||||
*/
|
||||
public function isAuthenticated(): bool;
|
||||
|
||||
/**
|
||||
* Returns the content of the JWT mercure.payload claim if present.
|
||||
*
|
||||
* @return array|null
|
||||
*/
|
||||
public function getPayload(): ?array;
|
||||
|
||||
/**
|
||||
* Get the unique subscriber ID, in the form 'urn:uuid:...'
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getId(): string;
|
||||
}
|
@ -68,7 +68,7 @@ class WsSubscriber implements SubscriberInterface, EventEmitterInterface
|
||||
], JSON_UNESCAPED_SLASHES));
|
||||
}
|
||||
|
||||
public function isAuthorized(): bool
|
||||
public function isAuthenticated(): bool
|
||||
{
|
||||
return $this->token && $this->token->isValid();
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ class Topic
|
||||
|
||||
foreach ($this->subscribers as $subscriber) {
|
||||
// Skip sending private messages to unauthorized subscribers
|
||||
if ($message->private && !$subscriber->isAuthorized()) {
|
||||
if ($message->private && !$subscriber->isAuthenticated()) {
|
||||
continue;
|
||||
}
|
||||
// Deliver to the subscriber
|
||||
|
Reference in New Issue
Block a user