Реагировать на js передний конец не может слушать частный канал от laravel pusher back end - PullRequest
0 голосов
/ 21 сентября 2018

У меня нет проблем с прослушиванием на общедоступном канале, внешняя реакция хорошо воспринимается на общедоступном канале.Как только я переключаюсь на частный канал, laravel отвечает перенаправлением 302.

Цените любую помощь.

реагируйте код:

subscribeToPrivateChannel = (userId) => {
this.pusher = new Pusher('something', {
  broadcaster: 'pusher',
  appId: 'appid',
  key: 'key',
  secret: 'secret',
  cluster: 'cluster',
  authEndpoint: 'http://localhost:8000/broadcasting/auth'
})
this.channel = this.pusher.subscribe(`private-notification_${userId}`)

this.channel.bind('created', this.updateNotifications)
this.channel.bind('updated', this.updateNotifications)
this.channel.bind('deleted', this.updateNotifications)
this.channel.bind('App\\Events\\PushNotification', this.updateNotifications)

console.log("THIS PUSHER: ", this.pusher)
console.log("THIS CHANNEL: ", this.channel)
}

внутри laravel BroadcastServiceProvider.php:

public function boot()
{
    Broadcast::routes(['middleware' => 'auth:api']);

    require base_path('routes/channels.php');
}

внутри channel.php:

Broadcast::channel('notification_{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});

Когда я удаляю ['middleware' => 'auth: api'] из маршрутов BroadcastServiceProvider.php, laravel выдает 403 запрещенных.

1 Ответ

0 голосов
/ 21 сентября 2018

В коде реакции добавьте токен на предъявителя:

this.pusher = new Pusher('something', {
  broadcaster: 'pusher',
  appId: 'appid',
  key: 'key',
  secret: 'secret',
  cluster: 'cluster',
  auth:{
    headers:{
      'Accept':'application/json',
      'Authorization': 'Bearer ' + getToken()
    }
  }
  authEndpoint: 'http://localhost:8000/broadcasting/auth'
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...