Задать вопрос
rishatss
@rishatss
Simple Developer ^)

Как правильно производить авторизацию юзера в чате?

Привет :)
Сейчас ситуация такая, есть бэкэнд с авторизацией на php(laravel 5.5). Есть чат на node js которые работает через socket.io. Хочу передать юзернейм в чат который юзер имеет в базе когда регается(laravel auth). Вообщем на ум приходит только одна затея, сделать API на Laravel и отдавать юзернейм, далее axios должен стучаться к API и отправлять на node js, которая в свою очередь будет setname делать юзеру в чате. Но чувствую тут безопасность может дать слабину.
...
Server.js

io.on('connection', function(socket) {
socket.on('send-nickname', function(nickname) {
    socket.nickname = nickname;
    users.push(socket.nickname);
    console.log(users);
});
...
Client.js

socket.emit('send-nickname', nickname);

Может как-то лучше можно сделать? Мне советуют отдельно верифицировать токен и отдельно перелогинивать в чате. Но я не совсем понимаю как. И httponly flag не спасет от того что кто-то сможет токен украсть?
  • Вопрос задан
  • 276 просмотров
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
Решения вопроса 1
@Kostik_1993
Web Developer
Эммм вы читали доки? вы читали про Echo? Вы читали про приватные каналы? Что-то мне подсказывает что нет.....
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hahenty
@hahenty
('•')
Сделать страницу на ларавеле, посетив которую клиента перенаправит на чат. Но в ссылку перенаправления добавить уникальную строку. Одновременно с перенаправлением клиента ларавел отправит на чат-сервер связку никнейма и уникальной строки. Чатовый сервер по этой уникальной строке поймёт, кто подключается. Процесс займёт не более 5 секунд.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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