【问题标题】:Laravel Websockets - Private ChannelLaravel Websockets - 私人频道
【发布时间】:2020-09-24 22:27:50
【问题描述】:

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

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

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

【问题讨论】:

标签: laravel websocket laravel-websockets


【解决方案1】:

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

来自Laravel

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

【讨论】:

  • 我自己目前没有应用任何中间件
猜你喜欢
  • 1970-01-01
  • 2021-06-01
  • 2020-01-15
  • 2020-11-22
  • 1970-01-01
  • 2019-06-04
  • 2018-03-03
  • 2017-05-12
  • 2021-11-15
相关资源
最近更新 更多