У меня возникла проблема (401 unauthorized
) при подключении к частному каналу в laravel
. Но он отлично работает на публичном канале.
Мой файл событий -
class OrderUpdated implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $new_orders;
public $user_id;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($orders, $user_id)
{
$this->new_orders = $orders;
$this->user_id = $user_id;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
//return new PrivateChannel('new_orders');
//return new Channel('new_orders');
return new PrivateChannel('App.User.'.$this->user_id);
}
public function broadcastWhen() {
return isset($this->new_orders);
}
public function broadcastWith()
{
return[
'data' => $this->new_orders
];
}
}
Мой channel.php
-
Broadcast::channel('App.User.{id}', function ($user, $id) {
// return (int) $user->id === (int) $id;
// dd("Done");
return true;
});
vue.js
- это
Echo.private('App.User.'+this.user_id)
.listen('OrderUpdated', (e) => {
console.log("it is working");
})
Мой bootstrap
файл выглядит как
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
appId : '879003',
wsHost: process.env.MIX_PUSHER_APP_HOST,
wsPort: process.env.MIX_PUSHER_APP_PORT,
disableStats: true,
auth:{
headers:{
'Accept':'application/json',
'Content-Type':'application/json',
}
},
authEndpoint: 'http://192.168.11.17:8000/broadcasting/auth'
});
Я настраиваю свое гнездоиспользуя ссылку . Я уже перепробовал много решений на stackoverflow. Но моя проблема все еще жива
Laravel : 5.8
Любая помощь очень благодарна