Laravel echo socket.io клиент, как реализуется авторизация?

Здравствуйте! Столкнулся с проблемой, копаюсь уже 3-й день. websocket изначально был реализован на Pusher, сейчас нужно перевести на SocketIO. По примеру pusher ожидаю, что будет выполнен запрос на авторизацию с token и socketId. Но ничего не происходит, т.е. не каких запросов не отправляется а websocket открывается в пустоту без указания канала, на который пытается подключиться.
Собственно интересует вопрос, верно ли я все делаю? Нужно ли отдельно реализовать авторизацию при использовании socketIo или может нужно как-то триггерить авторизацию?!
import Echo from "laravel-echo";

window.chatNotification = new Echo({
    broadcaster: 'socket.io',
    host: 'ws.test.loc',
    transports: ['websocket'],
    auth: {
        headers: {
            Accept: 'application/json',
            Authorization: 'Bearer ***********************************************'
        },
    }
});

chatNotification
    .join('chat.5')
    .listen('.message', (message) => {
        console.log(message);
    })

6317e1ab61ac1164991191.png
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 1
PeterLS
@PeterLS
Руководитель веб-студии
В моём случае проблема оказалась из-за несовместимости версий.
Понял это после того, как добавил отображение ошибки подключения:
this.echo.connector.socket.on('connect_error', (error) => {
  console.error('Ошибка подключения к Socket.IO серверу', error);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы