Laravel echo, pusher не аутентифицируется на частном канале - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь настроить частный канал-пушер с echo на laravel 6. Он не авторизует пользователя. Лучшее, что я могу сделать, это получить следующий ответ от pusher

Pusher : No callbacks on private-App.User.1 for pusher:subscription_error

Я следовал документации, которую я зарегистрировал:

App\Providers\BroadcastServiceProvider

добавил токен csrf:

<meta name="csrf-token" content="{{ csrf_token() }}">

скорректировал широковещательные маршруты в broadcastServiceProvider

Broadcast::routes(["middleware" => ["auth:api"]]);

Требуется файл каналов

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

Вот код канала (журнал даже не работает)

Broadcast::channel('App.User.{id}', function ($user, $id) {

   Log::info('User failed to auth.');
   return (int) $user->id === (int) $id;
});

Вот код bootstrap.js, очевидно использующий мой подлинный ключ и конечную точку (пробовал с конечной точкой и без нее)

import Echo from 'laravel-echo'

window.Pusher = require('pusher-js');

window.Echo = new Echo({
  broadcaster: 'pusher',
  key: 'mykeyhere111',
  cluster: 'eu',
  authEndpoint: "https://mydomain.test/broadcasting/auth",
  forceTLS: true
});

Pusher.logToConsole = true;

console.log(window.Echo.options);

и мой метод прослушивания vue:

Echo.private(`App.User.${userId}`)

      .notification( (notification) => {

            console.log(notification)
 })

Я также установил файл env

BROADCAST_DRIVER=pusher

PUSHER_APP_ID=akeyhere1
PUSHER_APP_KEY=akeyhere123
PUSHER_APP_SECRET=akeyhere12345
PUSHER_APP_CLUSTER=eu

Я работаю в усадьбе с ssl, также пробовал на vagrant. Ответ сети для auth:

Request URL: https://mysite.test/broadcasting/auth
Request Method: POST
Status Code: 302 

без данных ответа.

Я потратил пару дней, пытаясь заставить это работать, кажется, ничего не делает. Есть идеи?

...