AblyBroadcaster
class AblyBroadcaster extends Broadcaster (View source)
Properties
protected Closure|null | $authenticatedUserCallback | The callback to resolve the authenticated user information. |
from Broadcaster |
protected array | $channels | The registered channel authenticators. |
from Broadcaster |
protected array | $channelOptions | The registered channel options. |
from Broadcaster |
protected BindingRegistrar | $bindingRegistrar | The binding registrar instance. |
from Broadcaster |
protected AblyRest | $ably | The AblyRest SDK instance. |
Methods
Resolve the authenticated user payload for the incoming connection request.
Register the user retrieval callback used to authenticate connections.
Register a channel authenticator.
Authenticate the incoming request for a given channel.
Extract the parameters from the given pattern and channel.
Extracts the parameters out of what the user passed to handle the channel authentication.
Extracts the parameters out of a class channel's "join" method.
Extract the channel keys from the incoming channel name.
Resolve the given parameter binding.
Resolve an explicit parameter binding if applicable.
Resolve an implicit parameter binding if applicable.
Determine if a given key and parameter is implicitly bindable.
Format the channel array into an array of strings.
Normalize the given callback into a callable.
Retrieve the authenticated user using the configured guard (if any).
Retrieve options for a certain channel.
Check if the channel name from the request matches a pattern from registered channels.
Create a new broadcaster instance.
Return the valid authentication response.
Generate the signature needed for Ably authentication headers.
Broadcast the given event.
Build an Ably message object for broadcasting.
Return true if the channel is protected by authentication.
Remove prefix from channel name.
Get the public token value from the Ably key.
Get the private token value from the Ably key.
Get the underlying Ably SDK instance.
Set the underlying Ably SDK instance.
Details
array|null
resolveAuthenticatedUser(Request $request)
Resolve the authenticated user payload for the incoming connection request.
See: https://pusher.com/docs/channels/library_auth_reference/auth-signatures/#user-authentication.
void
resolveAuthenticatedUserUsing(Closure $callback)
Register the user retrieval callback used to authenticate connections.
See: https://pusher.com/docs/channels/library_auth_reference/auth-signatures/#user-authentication.
$this
channel(HasBroadcastChannel|string $channel, callable|string $callback, array $options = [])
Register a channel authenticator.
protected mixed
verifyUserCanAccessChannel(Request $request, string $channel)
Authenticate the incoming request for a given channel.
protected array
extractAuthParameters(string $pattern, string $channel, callable|string $callback)
Extract the parameters from the given pattern and channel.
protected ReflectionParameter[]
extractParameters(callable|string $callback)
Extracts the parameters out of what the user passed to handle the channel authentication.
protected ReflectionParameter[]
extractParametersFromClass(string $callback)
Extracts the parameters out of a class channel's "join" method.
protected array
extractChannelKeys(string $pattern, string $channel)
Extract the channel keys from the incoming channel name.
protected mixed
resolveBinding(string $key, string $value, array $callbackParameters)
Resolve the given parameter binding.
protected mixed
resolveExplicitBindingIfPossible(string $key, mixed $value)
Resolve an explicit parameter binding if applicable.
protected mixed
resolveImplicitBindingIfPossible(string $key, mixed $value, array $callbackParameters)
Resolve an implicit parameter binding if applicable.
protected bool
isImplicitlyBindable(string $key, ReflectionParameter $parameter)
Determine if a given key and parameter is implicitly bindable.
protected array
formatChannels(array $channels)
Format the channel array into an array of strings.
protected BindingRegistrar
binder()
Get the model binding registrar instance.
protected callable
normalizeChannelHandlerToCallable(mixed $callback)
Normalize the given callback into a callable.
protected mixed
retrieveUser(Request $request, string $channel)
Retrieve the authenticated user using the configured guard (if any).
protected array
retrieveChannelOptions(string $channel)
Retrieve options for a certain channel.
protected bool
channelNameMatchesPattern(string $channel, string $pattern)
Check if the channel name from the request matches a pattern from registered channels.
Collection
getChannels()
Get all of the registered channels.
void
__construct(AblyRest $ably)
Create a new broadcaster instance.
mixed
auth(Request $request)
Authenticate the incoming request for a given channel.
mixed
validAuthenticationResponse(Request $request, mixed $result)
Return the valid authentication response.
string
generateAblySignature(string $channelName, string $socketId, array|null $userData = null)
Generate the signature needed for Ably authentication headers.
void
broadcast(array $channels, string $event, array $payload = [])
Broadcast the given event.
protected Message
buildAblyMessage(string $event, array $payload = [])
Build an Ably message object for broadcasting.
bool
isGuardedChannel(string $channel)
Return true if the channel is protected by authentication.
string
normalizeChannelName(string $channel)
Remove prefix from channel name.
protected string
getPublicToken()
Get the public token value from the Ably key.
protected string
getPrivateToken()
Get the private token value from the Ably key.
AblyRest
getAbly()
Get the underlying Ably SDK instance.
void
setAbly(AblyRest $ably)
Set the underlying Ably SDK instance.