跨域发送 Cookie
Sending Cookies across Cross Domain
Objective : 跨域共享 cookie
我们的 UI 是 运行 在端口 P1 的服务器 'A' 中,我们的服务已启动并且 运行 在同一服务器 'A' 中的端口P2.
UI (Server 'A', Port P1) ----> Services (Server 'A', Port P2)
在从 UI 对服务进行休息调用时,cookie 不会作为请求的一部分发送。
我了解 cookie 不会在域之间共享。尝试了 Why is jquery's .ajax() method not sending my session cookie? 中建议的方法,但没有成功。
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
计划尝试以下方法,如有任何关于实现我们的 objective 的意见或想法,我们将不胜感激。谢谢。
方法:
按照 https://www.drupal.org/node/1133084
中的建议在 Cookie header 属性中设置所需的 cookie
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
},
// headers: {'Cookie' : 'cookieName=cookieValue'},
beforeSend: function(xhr) {
xhr.setRequestHeader("Cookie", 'cookieName=cookieValue');
});
使用通用 VIP 托管和访问 UI 和服务(比方说:https://example.com),这样浏览器就不会感觉到请求是跨域发出的.
UI (https://example.com) ----> Services (https://example.com/service1)
更新:
我们继续使用第二种方法,因为这两个应用程序都由一个共同的 VIP 访问,cookie 由浏览器发送。
我觉得第二种方法是 cleaner.I 已经尝试过并且有效。
Objective : 跨域共享 cookie
我们的 UI 是 运行 在端口 P1 的服务器 'A' 中,我们的服务已启动并且 运行 在同一服务器 'A' 中的端口P2.
UI (Server 'A', Port P1) ----> Services (Server 'A', Port P2)
在从 UI 对服务进行休息调用时,cookie 不会作为请求的一部分发送。
我了解 cookie 不会在域之间共享。尝试了 Why is jquery's .ajax() method not sending my session cookie? 中建议的方法,但没有成功。
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
计划尝试以下方法,如有任何关于实现我们的 objective 的意见或想法,我们将不胜感激。谢谢。
方法:
按照 https://www.drupal.org/node/1133084
中的建议在 Cookie header 属性中设置所需的 cookie$.ajax({ url: a_cross_domain_url, xhrFields: { withCredentials: true }, // headers: {'Cookie' : 'cookieName=cookieValue'}, beforeSend: function(xhr) { xhr.setRequestHeader("Cookie", 'cookieName=cookieValue'); });
使用通用 VIP 托管和访问 UI 和服务(比方说:https://example.com),这样浏览器就不会感觉到请求是跨域发出的.
UI (https://example.com) ----> Services (https://example.com/service1)
更新:
我们继续使用第二种方法,因为这两个应用程序都由一个共同的 VIP 访问,cookie 由浏览器发送。
我觉得第二种方法是 cleaner.I 已经尝试过并且有效。