209 похожих чатов

Всем привет, кто подскажет - какой тип у client, подключенного

к сокету?

14 ответов

19 просмотров
Egor-Платонов Автор вопроса

Пытаюсь узнать, как достать заголовок Authorization из подключения юзера, чтобы по токену можно было идентифицировать.

Egor-Платонов Автор вопроса

Немного не понял, суть в том, что у меня к вебсокету подключилось N человек и каждый шлет мне события, так вот можно ли как-то выяснить от какого именно юзера пришло событие?

Из реквеста

Req.user.id

Egor-Платонов Автор вопроса
Дмитрий Могилевцев
Из реквеста

Это же не рест, тут разве есть request? @SubscribeMessage('message') handleMessage(client, payload) { this.server.emit('message', `Вам пришло новое сообщение ${payload} от ${client}`); console.log(client); } На сколько я знаю тут только client - само подключение юзера и payload - данные какие-то.

Egor Платонов
Пытаюсь узнать, как достать заголовок Authorizatio...

Заголовок доставать ненужно, нужно паспорту указать откуда его брать, он сам достанет и проверит

Skynet
Req.user.id

Не факт что есть в реквесте юзер. @ErPlv через rea.headers.authorization

Egor Платонов
Немного не понял, суть в том, что у меня к вебсоке...

Если есть авторизация у пользователя то проще простого, по отправленному токену определяешь кому надо отправить, по крайнем мере в другом проекте так работает авторизация(пускай и там не предусмотрели регистрацию что странно).

Дмитрий Могилевцев
Не факт что есть в реквесте юзер. @ErPlv через rea...

Если авторизацию нормально делать, то паспорт делает обьект юзера и потом по токену из кэша добавляет его к каждому запросу

Egor-Платонов Автор вопроса
Станислав Алимпиев
Если есть авторизация у пользователя то проще прос...

https://docs.nestjs.com/websockets/gateways Я вот о чем говорю - тут нет же request-ов потому что подключение постоянное.

Egor Платонов
Пытаюсь узнать, как достать заголовок Authorizatio...

Если вы имеете в виду достать из хедеров в хендлере контроллера, то делается декоратором подробно тому как достается Body или Session. Посмотрите исходный код

Egor Платонов
Это же не рест, тут разве есть request? @Subscribe...

Есть, почитай доку, exexution context. switchToWs()

Да да, тут контекст)) Вот как пример https://github.com/nestjs/nest/issues/1254

Egor-Платонов Автор вопроса
Дмитрий Могилевцев
Да да, тут контекст)) Вот как пример https://gith...

Нашел один из вариантов решения в инете - client.handshake.headers.authorization - вот так можно достать хедер из подключения. Но не пойму как будет правильнее делать.

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

Обсуждают сегодня

Карта сайта