首页 > 解决方案 > Laravel 推送器监听私人事件:错误 403 页面被禁止

问题描述

我正在使用 laravel 8、vue.js 和 pusher 来创建具有广播功能的事件。一切正常。在推送器上,我收到事件发送的内容。当我去听前端的事件时,问题就出现了。出现的错误总是一样的。

http://127.0.0.1:8000/broadcasting/auth 403(禁止)

这是监听事件的代码:

  Echo.private(`CallEvent.${data.session_id}`).listen(
          "PrivateCallEvent",
          e => {
             console.log(e)
          }

这是相关频道

 Broadcast::channel('CallEvent.{session}', function ($user,Session $session ) {

if ($user->id == $session->user_1 || $user->id == $session->user_2) {
    return true;
}
 return false;
});

这是私人活动:

    public $message;
public $event;

/**
 * Create a new event instance.
 *
 * @return void
 */
public function __construct($message,$event)
{

    $this->message= $message;
    $this->event= $event;
    $this->dontBroadcastToCurrentUser();
}

/**
 * Get the channels the event should broadcast on.
 *
 * @return \Illuminate\Broadcasting\Channel|array
 */
public function broadcastOn()
{
    return new PrivateChannel('CallEvent.'.$this->event['session_id']);
}

}

推送 API 消息:

API message
Channel: private-CallEvent.353, Event: App\Events\PrivateCallEvent
Socket ID: 133983.19535029
14:12:03
{
"message": "test",
"event": {
"id": 607,
"message_id": 320,
"session_id": 353,
"user_id": 1,
"type": 0,
"created_at": "2021-11-09T14:12:03.000000Z",
"updated_at": "2021-11-09T14:12:03.000000Z"

} }

标签: laravelvue.jsbroadcastpusherlaravel-echo

解决方案


推荐阅读