4 天以来,我一直在尝试连接到私人频道。结合了我能找到的所有可能的属性,但没有解决问题。需要对这个问题有更深入的了解。
我正在使用 Laravel Sanctum、Nuxt.js、Nuxt-auth 创建一个应用程序。我需要连接到广播专用频道。
起初我尝试使用@nuxtjs/laravel-echo包创建连接。经过长时间的尝试配置连接,我发现如果我设置authModule: true
(公共频道完美连接),甚至没有创建 PisherConnector 实例。发现这个包没有得到积极的支持,而且我没有完全访问连接管理的权限,我决定放弃它。
然后我尝试使用 Laravel-echo 设置连接,然后直接通过 Pusher。没有任何效果,我收到 401 或 419 错误。
我有很多问题,没有答案。
- 我什么时候需要使用laravel-echo-server?
- 我什么时候需要使用pusher/pusher-php-server?
- 在什么情况下我需要连接
broadcasting/auth
,在什么情况下需要连接api/broadcasting/auth
?我的前端在 上运行api/login
,但我不想提供对我的 API 的外部访问。 - 我添加
Broadcast::routes(['middleware' => ['auth: sanctum']])
到我的BroadcastServiceProvider
和routes/api.php
也添加到(用于测试)。我也不确定这里。Broadcast::routes(['middleware' => ['auth: api']])
可能需要或保留默认值Broadcast::routes()
? - configs 的正确设置是什么:
config/cors.php
,config/broadcasting.php
,config/sanctum.php
,config/auth.php
? 哪些关键参数会影响请求验证? - 我应该将 CSRF-TOKEN 传递给标题吗?我尝试过不同的方式。
- 我什么时候需要设置
encrypted:true
选项? - 什么
middleware
应该存在,Kernel
什么可能会阻碍?
如果我设置authEndpoint
为api/broadcasting/auth
419 错误(试图通过 csrf-token 没有帮助)。如果我设置authEndpoint
为broadcasting/auth
我得到 401 错误。
我没有提供我的代码示例,因为我尝试了所有配置中的所有选项。我还尝试在 Laravel 网站 Pusher.js 上学习我的问题的文档,查看了示例。各种示例都提到了一些选项,但没有提到其他选项,反之亦然。
我很乐意接受任何建议。