Laravel обратный вызов канала никогда не вызывается - PullRequest
0 голосов
/ 06 января 2020

Я использую Laravel 6.0 & Laravel -echo & Pusher и пытаюсь создать приватные каналы

  1. Я раскомментировал BroadcastServiceProvider в приложении. php config
  2. Поскольку я использую аутентификацию JWT, я заменил промежуточное программное обеспечение в методе Broadcast::routes следующим образом: Broadcast::routes(['middleware' => ['api', 'auth:api']]);
  3. Мои каналы. php выглядит так:
Broadcast::channel('user.{id}', function ($user, $id) {
    info('Broadcast channel user.{id}', ['id' => $id, 'userId' => $user->id]);

    return (int) $user->id === (int) $id;
});
Моя javascript часть:
  window.Pusher = require('pusher-js')
  console.log('Creating echo')

  window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.VUE_APP_PUSHER_KEY,
    cluster: process.env.VUE_APP_PUSHER_CLUSTER,
    forceTLS: process.env.VUE_APP_PUSHER_FORCE_TLS,
    authEndpoint: `${process.env.VUE_APP_BASE_URL}broadcasting/auth`,
    auth: {
      headers: {
        'Authorization': `Bearer ${auth.getToken()}`
      }
    }
  })

  const userId = auth.getUser().id
  const channelName = `user.${userId}`

  console.log('Trying to listen to ' + channelName) // This shows "Trying to listen to user.1"

  window.Echo.private(channelName)
    .listen('.check.completed', (data) => {
      console.log(JSON.stringify(data))
    })

  window.Echo.channel('sample_public_channel') // I'm using pusher and I can see that Echo subscribed to public channel, which is good

Итак, что происходит: веб-интерфейс отправляет POST-запрос на http://mydomain/broadcasting/auth, передавая socket_id и channel_name: private-user.1

Это всегда возвращает 200OK, и я не вижу журналов в laravel, что вызывается обратный вызов Broadcast::channel('user.{id}'....

Я никогда не вижу в консоли Pusher, что мое приложение подписано на частный канал.

Я попытался очистить кеш, удалить промежуточное ПО (положить пустой массив промежуточного ПО) и много разные вещи. Я только получаю некоторую реакцию, когда комментирую Broadcast::routes, тогда я получил 404 от запроса аутентификации.

...