Laravel Echo+VueJS广播/身份验证问题



我使用Laravel Echo和pusher作为我的服务器。它已经在公共频道上工作了。

这是我的laravel回声监听器图像链接的照片

现在我的问题是,当我使用PrivateChannel时,当我在私人频道中收听时,会弹出这个错误:

岗位http://localhost:3000/broadcasting/auth500(内部服务器错误(

在控制台/网络选项卡中的错误中,显示未定义路由[登录]。

这是控制台/网络内部的图像https://i.stack.imgur.com/fnAGp.png

我做过的事情:

-config/App.php 中的未注释App\Providers\BroadcastServiceProvider::class

-增加了广播::路由(['middleware'=>['auth:api']](;在BroadcastServiceProvider.php 中

-使用Echo.private('channel-name'(代替Echo.channel('chanel-name'(收听专用信道

-已添加authEndpoint:'http://localhost:3000/broadcasting/auth'到bootstrap.js(这是我的Echo选项所在的位置(

-在我的channels.php中添加了一个频道(可能是私人频道((这是一张照片(

-在我的主刀中添加了csrf令牌元标签

在推送服务器中,当它被触发时,它会收到事件,下面是事件的图片已成功激发。

所以问题是,当我听私人频道时,会弹出错误,但当我听公共频道时,一切都很好,我不太确定如何评估这个问题。

您必须传递auth头和pusher请求,如下所示。

window.Echo = new Echo({
broadcaster: 'pusher',
key: 'APP_KEY',
authEndpoint: '/broadcasting/auth'
auth: {
headers: {
'Authorization': 'Bearer your_api_Toke',
'X-CSRF-Token': "CSRF_TOKEN"
}
}
});

更多详细信息:

https://github.com/laravel/echo/issues/26
Laravel Echo未使用Auth标头

最新更新