Laravel socket Получите ошибку 401 при попытке присоединиться к частному каналу с помощью пушера и Laravel Echo. - PullRequest
0 голосов
/ 17 октября 2019

У меня возникла проблема (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

Любая помощь очень благодарна

1 Ответ

1 голос
/ 18 октября 2019

Моя проблема решена путем удаления некоторых строк из bootstrap.js

auth:{
headers:{
'Accept':'application/json',
'Content-Type':'application/json',

}
},

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...