вещание в админке

На моем сайте Laravel у нас есть два охранника admin а также customer таблицы этого охранника ->customer table а также admin table,

Я хотел бы отправить уведомление от customer для admin через laravel broadcasting
это мои коды в файле .js в админ

файлы server.js:

window.Echo = new Echo({

broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});

* i have a admin by id=2 *

Echo.private('App.Models.Admin.2')
.notification((notification) => {
console.log(notification.type);
});

и в охранник:

\Notification::send(Admin::find(2) , new SimpleAlert('hey bro'));

SimpleAlert.php:

public function toBroadcast($notifiable)
{
return new BroadcastMessage([
'message' => $this->message,
'type' => 'broadcast'
]);
}

Итак, я запускаю laravel-echo-server и открываю две вкладки Google Chrome, одну для admin guard и еще один для customer guardи вошел в оба охранника.
Нет ошибки в консоли. Нет ошибок в customer sending notification, но `администратор не получает уведомление.

Проблема:
Laravel-эхо-сервер, показывая это, когда я в admin guard

Клиент не может быть аутентифицирован, получил статус HTTP 403

Помоги мне, пожалуйста.

0

Решение

Что вы можете сделать, это добавить авторизацию в routes/channels.php, Попробуй это

Broadcast::channel('App.Models.Admin.{userId}', function ($user, $userId) {
return $user->id === $userId;
});
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector