Цель: разделять куки между доменамиОтправка Cookies через Крест домена
Наш пользовательский интерфейс работает на сервере «A» в порту P1 и наших услуг и работает в том же сервере, «A» в порту P2.
UI (Server 'A', Port P1) ----> Services (Server 'A', Port P2)
При переадресации вызовов от пользовательского интерфейса к файлам cookie услуг не отправляются как часть запроса.
Я понимаю, что файлы cookie не разделяются между доменами. Пробовал подход, предложенный в Why is jquery's .ajax() method not sending my session cookie?, но не повезло.
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
Планирование попыток подходов ниже, любые входы или мысли о достижении нашей цели будут оценены. Благодарю.
Подходы:
Чтобы установить необходимое печенье в атрибуте заголовка Cookie, как предложено в https://www.drupal.org/node/1133084
$.ajax({ url: a_cross_domain_url, xhrFields: { withCredentials: true }, // headers: {'Cookie' : 'cookieName=cookieValue'}, beforeSend: function(xhr) { xhr.setRequestHeader("Cookie", 'cookieName=cookieValue'); });
Для размещения и пользовательский интерфейс доступа и услуг с использованием общего VIP (позволяет сказать: https://example.com), таким образом браузер не будет ощущать, что запрос осуществляется через домены.
UI (https://example.com) ----> Services (https://example.com/service1)
Update:
Мы пошли вперед с 2-го подходом, поскольку оба приложения были получать доступ к общим VIP куки были отправлены через броузер.
Хорошо читал: http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/ –
Что общего VIP? Пожалуйста, когда вы решаете проблему, будьте немного детализированы, потому что у многих людей будет такая же проблема, как и вы. Вы сэкономите свое время, как будто они могут сохранить ваши в другой руке. –