socket.io изменение параметра auth для передачи jwt на сервер
Всем примет.
Решаю задачу по передаче с клиента, jwt на сервер в рамках соединений Socket. Делаю это в плагине vuex в событии для actions - > store.subscribeAction:
store.$socket.close();
store.$socket.io.opts.auth.token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6InZva21hciIsImlhdCI6MTUxNjIzOTAyMn0.EK7P2YE0khAtdfZLTOPYPNgR_SLrEvseSoogRCxdOxc'
store.$socket.connect();
цель: добавлять jwt для всех запросов на сервер
Вопрос:
- (подчеркну, все работает как нужно), не пойму почему для добавления в store.$socket.io.opts.auth нужно сперва закрыть socket, выполнить присваивание token и перезапустить socket, такой вариант где-то ??? нашел, попробовал, работает.
- является ли данный вариант приемлемым, поделитесь практикой
Ответы (1 шт):
Автор решения: Павел Рамков
→ Ссылка
Вот так гуд. store.$socket.auth.token=JSON.parse(JSON.stringify(token())) store.$socket.io.opts.query = {jwt:JSON.parse(JSON.stringify(token()))}