Больной вопрос: принятие cookie при кросс-доменных запросах?
Буквально перед публикацией проекта, отвечаю себе (а может и другим, в том числе dimonchik2013) на собственный вопрос. Когда я задавался этим вопросом, у меня физически не было возможности проверить свои предположения, поскольку на тот момент только продумывались разные нюансы. Сложность вопроса заключалась по большей части в том, что браузеры по-разному ведут себя со сторонними куки + личные настройки пользователей. И по сей день нет единого рецепта для 100% простановки куки при кросс-доменных запросах, хотя некоторые подвижки есть (но это отдельная тема).
Вопрос был решён комбинированием уже имеющихся практик решения данной проблемы, а именно так: на странице first.com размещаем пустой и невидимый iframe, в него загружаем страницу с домена second.com, которая исполняет сценарий, создавая форму, с методом POST и action-адресом, по которому в ответ сервер выставит куки (разумеется, для second.com, как в моем случае и было необходимо). После этого iframe средствами postMessage может "информировать" родительское окно, что все прошло гладко или что-то случилось в свою очередь родительское окно удалить этот iframe. Все браузеры с включёнными куки, но с разными установками на предмет принятия сторонних куки прекрасно справились с этим сценарием.
Хочу так же заметить: часто вижу (и даже на Хабре есть такой пример), что вместо формы для таких случаев используют еще одни вложенный iframe с адресом , по которому сервер выставит куки - не стоит этого делать, так как такой способ срабатывает не во всех браузерах, нужен именно POST запрос и именно на форму (особенно для Safari).
В моем случае таких разных second.com должно быть 4, поэтому описанный выше сценарий запускается в цикле для каждого необходимого домена. В итоге весь процесс проходит параллельно для этих перечисляемых доменов. Задержки, связанные с временем загрузки контента в iframe, отправки форм и получения ответа в моем сценарии не имеют значения, но учитывая размер кода для создания и ее отправки вес там минимальный, остальное зависит от сети и скорости отдачи на сервере. В моем случае это не играет большой роли.
что мешает проверить ручками?