ли как-то сделать аутентификацию при подключении к webSocket'у через токен? нашел только один вариант , это передавать его просто в событиях
1. Передать в URL при подключении (query) 2. Передать уже после подключения первым сообщением А ещё можно в куке
url как-то опасно, мне кажется
Не совсем опасно, но да, лучше отправлять уже после подключения отдельным сообщением
В этом случае мне нужно на каждое событие добавлять? Я просто думаю, если у человека сокет больше 30 минут будет открыт (срок токена), то нужно его как-то рефрешить
1. Клиент подключился по вебсокетам 2. Сервер отправляет "ты анонимный хрен, иди нафиг" 3. Клиент отправляет "нет, я петя#my-super-token" 4. Сервер соглашается и работает с петей *прошло пол часа* 5. Сервер: Токен больше не валидный, я тебе больше не верю, иди нафиг 6. Клиент: Да нет же, это я, вот новый токен
второй пункт лишний же, первое сообщение сокета это токен
Как удобнее
Вот 5й пункт, как сервер должен через пол часа понять , что токен не валидный если клиент больше не взаимодействовал с ним
Можно перед каждым взаимодействием проверять. Можно таймер поставить
а почему опасно?
да это я предположил, подумал так легче подменить его
В случае вебсокетов основная проблема - URL-ы потенциально логгируются.
Но это проблема всех http запросов, да? В самих вебслкетах вроде URL нигде нет кроме handshake
Всех запросов c URL, это не только HTTP. Но да, только в handshake. Так в случае передачи токена в query он на handshake и приходит
Обсуждают сегодня