Как запустить сокет.соединение ввода-вывода после аутентификации в AngularJS?

#node.js #angularjs #sockets #authentication

#node.js #angularjs #сокеты #аутентификация

Вопрос:

У меня есть AngularJS с формой входа в систему, которая вызывает некоторые конечные точки URL для аутентификации пользователей. Эти конечные точки возвращают значения, и я создаю файл cookie сеанса и разрешаю пользователям доступ к внутренним частям приложения.

После аутентификации мне нужно установить сокет.соединение ввода-вывода, однако в AngularJS всякий раз, когда я переключаю состояния в приложении (т.Е. Перехожу на панель мониторинга после входа в систему), сокет.событие подключения ввода-вывода к моему серверу никогда не происходит. Единственный способ, которым я могу обойти это, — обновить страницу, на которой находится сокет.подключается модуль ввода-вывода, и все данные начинают поступать.

Я использую angular-socket-io, и я думаю, что можно вызвать мою фабрику сокетов после аутентификации, но, похоже, она всегда вызывается сразу в форме входа.

Есть идеи?

Что происходит в настоящее время:

1) Попытка подключения к сокету без auth_token завершается неудачно

2) Пользователь входит в систему

3) Обновление браузера

4) Попытка подключения к сокету с помощью auth_token, принята

Цель:

1) Пользователь входит в систему

2) Изменение состояния на панель мониторинга

3) Соединение с сокетом, созданное с использованием auth_token, принято

Комментарии:

1. Я обошел это, используя перенаправление после входа в систему для перезагрузки страницы.

2. Это текущее решение, которое я использую, однако, очевидно, оно не идеально. Кажется немного хакерским.