在 laravel 中广播时出现 403 Forbidden

问题描述 投票:0回答:1

我正在使用私人频道发送广播通知。我正在使用 Pusher 和 laravel-echo。我都取消评论了

 Illuminate\Broadcasting\BroadcastServiceProvider::class,
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,

config/app.php.

我正在使用网络路由并使用“auth:sanctum”中间件。

BroadcastServiceProvider.php

public function boot()
    {
        Broadcast::routes();
        //Broadcast::routes(['auth:sanctum']);

        require base_path('routes/channels.php');
    }

两种方式我都尝试过。

bootstap.js

import Echo from 'laravel-echo';

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    cluster: process.env.MIX_PUSHER_APP_CLUSTER,
    forceTLS: true,
});

在请求标头中,

Authorization: Bearer null
。 我尝试过添加授权令牌。但仍然出现此错误。

channels.php

Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id;
});

我在我的推送帐户中收到 API 消息。但是在vue中无法监听。下面是vue文件中的代码。

mounted() {
    window.Echo.private("App.Model.User." +this.userId ).notification(
      (notification) => {
        console.log(notification);
      }
    );
  },
laravel vue.js pusher laravel-echo
1个回答
0
投票

看起来您的问题可能已经在类似的帖子中得到了回答:POST http://localhost:8000/broadcasting/auth 403(禁止)

希望这对您有帮助,即使已经过去很长时间了。

© www.soinside.com 2019 - 2024. All rights reserved.