0

我第一次摆弄 Laravel websockets。目前我只是使用普通的 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 连接并且我不提供身份验证端点时,我可以只订阅我的私人频道,从而完全绕过所有身份验证?

这是正确的还是我错过了什么?

我的目标是让私有通道拒绝访问,因为未提供身份验证端点。

4

1 回答 1

0

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

来自Laravel

Broadcast::channel('channel', function () {
    // ...
}, ['guards' => ['web', 'admin']]);
于 2020-09-26T19:50:54.760 回答