如何让 Laravel 收听私人 Pusher 频道?

How do I get Laravel to listen to private Pusher channels?

我阅读了其他一些与此类似的问题,但未能找到满意的答案,所以再次询问我到目前为止在代码中所做的事情。

在 resources/assets/bootstrap.js 我有

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '8c5cc1d9fe77464ac2df',
    cluster: 'us2',
    encrypted: true,
    authEndpoint: '/chat4/public/authenticate-broadcasting',
});

在我的 routes/web.php 我有:

Route::post('/authenticate-broadcasting', function () {
  return true;
});

但是当我加载应用程序页面时,在控制台中我得到:

POST http://laraveldemo-one.com/chat4/public/authenticate-broadcasting 500 (Internal Server Error)

Pusher : Couldn't get auth info from your webapp : 500

我正确安装了 Laravel Echo 和 Pusher,因为如果我使用 public 频道,我的应用程序可以完美运行,但我在使用私人频道时失败得很惨,我不确定我还能做什么可以尝试,因为我已经通读了几次文档,但找不到任何我遗漏的东西。请帮帮我! :)

您必须发送 csrf_token 您可以通过元标记或在 Echo json 参数中发送 授权:{ headers:{ 'X-CSRF-Token': 'some_csrf_token' } }

https://pusher.com/docs/client_api_guide/client_connect