laravel - 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"
} }
解决方案
推荐阅读
- kubernetes - OpenShift 容器到容器 localhost 的通信在 pod 中不起作用
- javascript - 与另一个数组相等的数组并拼接
- java - Micronaut如何在同一个控制器中重定向Http
- visual-studio-code - 使用 VScode 和终端进行 OCaml 交互开发的适当做法
- flutter - gradle / wrapper:utime不可能:运行“颤振医生”后不允许操作
- python - 收集用户输入,然后以格式化字符串将其打印到屏幕上
- c# - .net core 5 中的函数参数可以是异步的吗?
- c# - 访问 ServiceLifetime.Scoped DbContext 时出现错误“在前一个操作完成之前在此上下文上启动了第二个操作”
- r - 将年度数据转换为 xts 格式
- java - DbFit:无法完成测试:java.net.SocketException:对等方重置连接:套接字写入错误