Laravel Websockets-私人频道

问题描述

我是第一次玩Laravel网络套接字。 目前,我只是使用普通的JS WebSocket客户端(不是Laravel Echo)。

从我的角度看,laravel echo为私有和在线渠道提供了一个“ authEndpoint”。

这使您可以创建如下所示的broadcast :: channel()回调

broadcast::channel('App.User.{id}',function ($user,$id) {
    return (int) $user->id === (int) $id;
});

现在让我感到困惑的是,当我与WebSocket本机客户端建立Websocket连接并且不提供身份验证终结点时,我可以订阅我的私有通道,从而完全绕开所有身份验证吗?

这是正确的还是我缺少什么?

我的目标是拥有专用通道,以拒绝访问,因为未提供auth端点。

解决方法

您的广播路由是什么样的?有中间件吗?

来自Laravel

Broadcast::channel('channel',function () {
    // ...
},['guards' => ['web','admin']]);