@viktorulyushev

Объясните как работает кросдоменная политика безопасности на примере модуля на Angular?

Я пилю модуль ангуляре,по сути переносной виджет,который другие сайты на ангуляре будут к себе встраивать.Есть сторона которая предоставляет api.Виджет по сути просто получет инфу с api и отправляет запросы.Изи подумал я,и начал пилить запросики.Но со временем отказалсь от прямых запросов к апи,т.к будет авторизация и еще что то,и теперь передаем все через ВебСокеты,что очень не удобно.

Я не очень понимаю почему нельзя работать напрямую с апи хотя бы для получения данных,я понимаю что апи и виджет будут лежать на разных серверах,и для нормального обмена данными нужно будет передавать заголовки,но разьве это проблема не решается инструментами ангуляра или JS?Стоит ли использовать встроенные инструмены ангуляра для работы с веб сокетами или обойтись JS-ом,т.к проект не большой? Почему тогда сейчас я могу работать с данным апи из любого другого места средствами ангуляра?Каким образом на крупных проектах решаются данные вопросы,когда апи и модуль лежат на разных серверах? Прошу знающего человека дать развернутый ответ,т.к пока в голове каша.Буду благодарен.
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер

встроенные инструмены ангуляра для работы с веб сокетами

это какие? Если речь про WebSocketSubject, то это таки rxjs, а не Ангуляр, и да, можно юзать, почему нет.
Ангуляр же про вебсокеты ничего не знает.

Почему тогда сейчас я могу работать с данным апи из любого другого места средствами ангуляра?

Ангуляр тут вообще не при делах. Браузер делает запрос. Если запрос идет на другой домен, браузер сначала спрашивает разрешение у этого домена, можно ли ему сделать этот запрос. Посредством другого запроса с методом OPTIONS. Так называемый префлайт.
Если бэкенд на том домене отдает заголовки в которых указано "ок, можно", то браузер запрашивает данные и все ок.
Это есть Cross-origin resource sharing, CORS
Таким образом успешность вашего запроса целиком зависит от бэкенда.
почитать

Плюс еще с сайтов на схеме https нельзя делать нешифрованные запросы, можно только https и wss.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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