Я использую Angular-Websocket для создания веб-приложения, которое будет работать в корпоративной сети (т. Е. Никогда не подвергаться публике).
Обычно, когда я использую $ https, я использую параметр 'withCredentials': true, чтобы учетные данные отправлялись с любыми запросами REST.
Я хотел бы сделать то же самое для своих сетевых подключений. Невозможность сделать это дает мне сообщение об ошибке с каждым подключением:
WebSocket connection to 'ws://hostname.bigcompany.com:8090/event-service/?user=salimfadhley' failed: HTTP Authentication failed; no valid credentials available
Вот как я сейчас подключаюсь к websocket (предупреждение, Coffeescript):
getWebSocket: (url)->
ws = $websocket(url)
ws.onMessage(@eventHandler)
ws
Так что я могу сделать? Очевидным решением является просто подключение таким образом, чтобы мы предоставляли учетные данные. В качестве альтернативы, я мог бы использовать какой-то другой клиент websocket? Какие-либо предложения?
В WebSockets не влияет политика одинакового происхождения, поэтому она должна отправлять файлы cookie, действительные для домена, к которому вы подключаетесь по умолчанию.
Это не связано с компонентом AngularJS, это сам браузер.