/pusher/auth 端点在 Laravel 中返​​回 404

我构建了一个 Laravel 应用程序,尝试通过 Pusher.com 实现 Web Sockets(第一次)。


虽然我的公共频道订阅工作正常,但我很难让私人频道正常工作。


根据 laravel 文档,您需要在我拥有的 配置文件中取消注释 App\Providers\BroadcastServiceProvider::class 。app.php


我的channels.php 有以下规则


Broadcast::channel('App.User.{id}', function ($user, $id) {

    return (int) $user->id === (int) $id;

});


Broadcast::channel('private-queue.business.{business}', function ($user, Business $business) {

    // @todo: add real authentication

    return true;

});

我还需要添加其他内容才能使/pusher/auth端点正常工作吗?


桃花长相依
浏览 85回答 2
2回答

守着一只汪

从 Laravel 7.x 开始,广播端点是 broadcasting/auth 而不是 pusher/auth。我需要像这样更新我的 JS 才能定义自定义身份验证端点:const pusher = new Pusher('{{ env('PUSHER_APP_KEY') }}', {    cluster: '{{ env('PUSHER_APP_CLUSTER') }}',    authEndpoint: '/broadcasting/auth',    auth: {        headers: {            'X-CSRF-TOKEN': '{{ csrf_token() }}',        }    }});您需要添加 CSRF-TOKEN,否则您将收到页面过期错误。

慕桂英3389331

你能尝试一下吗: 尝试这个:取消注释 config/app.php 中的 App\Providers\BroadcastServiceProvider::class 使用 php artisan config:cache 使用 php artisan 路由:缓存 使用 php artisan route:list 检查新路由广播/身份验证
打开App,查看更多内容
随时随地看视频慕课网APP