Авторизация канала в пакете Laravel

#laravel #broadcast #laravel-7 #pusher #authorize

#laravel #трансляция #laravel-7 #толкатель #авторизовать

Вопрос:

Я разрабатываю пакет laravel, в котором мне нужно авторизовать частный канал.

В моем обычном проекте laravel (не в пакете) все работает нормально:

Сообщение об отправке события:

 public function broadcastOn()
{
    return new PrivateChannel('chat');
}
  

и в моем route/channel.php я делаю следующее:

 Broadcast::channel('chat', function ($user) {
    return Auth::check();
});
  

Но как я могу авторизовать свой канал чата внутри моего пакета laravel?

В моем пакете laravel поставщик услуг имеет функции загрузки и регистрации, как и в routes/web.php я знаю, что мы можем зарегистрировать его, но что делать с каналами? Можем ли мы их зарегистрировать? я не нахожу документации по этому поводу, пожалуйста, помогите.

Я использую сервер-толкатель и laravel echo.

Надеюсь, вы сможете понять мой вопрос. Я просто хочу знать, как я могу авторизовать канал в моем пакете.

Ответ №1:

Ответ на мой собственный вопрос заключается в том, что мы должны раскомментировать строку из config/app.php , которая :

      AppProvidersBroadcastServiceProvider::class,
  

Я боролся с каналами, и дело дошло до того, что нам не нужно регистрировать каналы или службы вещания в нашем пакете.

По умолчанию они включены глобально.

Итак, все остается по-прежнему, и, просто раскомментировав, я смог авторизовать частный канал.

К счастью, никто не попадает в такие неприятности.

Приветствия.

Комментарии:

1. Этот поставщик услуг не знает о каналах в вашем пакете (и не должен знать)