Невозможно прослушать частный канал pusher с помощью laravel и vue js

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

Вот мой код laravel-echo для файла bootstrap.js

    import Echo from 'laravel-echo';

    window.Pusher = require('pusher-js');
    let token = document.head.querySelector('meta[name="csrf-token"]').content;
    window.Echo = new Echo({
        broadcaster: 'pusher',
        key: process.env.MIX_PUSHER_APP_KEY,
        cluster: process.env.MIX_PUSHER_APP_CLUSTER,
        forceTLS: true,
            auth: {
            headers: {
              'X-CSRF-Token': token
            }
          }
      
    });

Вот мое содержимое метатега основного html

 <meta name="csrf-token" content="{{ csrf_token() }}">
 <meta name="user-id" content="{{Auth::check() ? Auth::user()->api_token:''}}">

Вот код для прослушивания в app.js

let userId = document.head.querySelector('meta[name="user-id"]').content;
Echo.private('App.User.' + userId)
    .notification((notification) => {
        console.log(notification.type);
    });

Вот ошибка, которую я получаю на консоли

POST http: // localhost: 3000 / broadcasting / auth 419 (статус неизвестен)

заранее спасибо


person Pashupati Sah    schedule 16.08.2020    source источник


Ответы (2)


Код ошибки 419 используется Laravel, чтобы указать, что ваш токен CSRF недействителен или отсутствует. Вы должны убедиться, что передаете правильный токен в конечную точку аутентификации.

person doydoy    schedule 17.08.2020

Я понял. Это была проблема из-за настройки маршрута в BroadcastServiceProvider.php.

person Pashupati Sah    schedule 25.09.2020