парни!
Я пытаюсь подписаться на частные каналы в Laravel, используя Vue.js в качестве клиента, я выполнил часть аутентификации, следуя документации, но журналы в Pusher показывают, что она не работает.
Я получаю это сообщение об ошибке в журнале отладки Pusher:
Auth info required to subscribe to private-order.80
Мой channel.php возвращает значение true, и на вкладке сети браузера я вижу сообщение о трансляции / возвращении сообщенияtrue со статусом 200 и токеном аутентификации:
use App\Models\Order;
Broadcast::channel('order.{orderId}', function ($user, $orderId){
return $user->id === Order::find($orderId)->user_id;
});
Мой класс событий, работает правильно:
class OrderStatusEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $order;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($order)
{
$this->order = $order;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
// return new Channel('order');
return new PrivateChannel('order.' . $this->order['id']);
}
}
Примечание: я провел тестирование регистрации в не приватных каналах, и это сработало.
Я использую laravel echo в компоненте vue, чтобы услышать событие, но он не может слышать, он просто ничего не отображает на консоли, потому что он выдал эту ошибку выше об аутентификации в Pusher.
created() {
this.checkOrder();
this.countDown();
let order = this.getOrder();
window.Echo.private('order.' + order.id)
.listen('OrderStatusEvent', (e) => {
console.log('event...');
console.log(e);
});
},
Что я отпустил, чтобы получить эту ошибку толкателя?