#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. Этот поставщик услуг не знает о каналах в вашем пакете (и не должен знать)