I think it would be just a matter of creating a new class that extends Illuminate\Broadcasting\Broadcasters\Broadcaster.php
That implements a contract where you will need to provide the logic behind the methods auth(), validAuthenticationResponse() and broadcast()
You can take a look at Illuminate\Broadcasting\Broadcasters\PusherBroadcaster.php for an example on how Pusher is handled.
Once you create your class, you're going to need to register it with the framework. A good place for this would be within a Service Provider. You could either create your own, or you can probably just use the app/Providers/BroadcastServiceProvider.php already provided.
To register it, you would need to add something like this:
public function boot(BroadcastManager $broadcastManager)
{
$broadcastManager->extend('mybroadcaster', function (Application $app, array $config) {
return new MyCustomBroadcaster(); // you can optionally pass $config information into the constructor for your class
});
}
Then just add it to your config/broadcasting.php file:
'connections' => [
'mybroadcaster' => [
'driver' => 'mybroadcaster', // same as first parameter in extend()
'options' => [
//
],
],