jQuery重定向和HttpOnly cookies
我们使用jQueryAjax登录。登录服务发出HTTP 302,其位置为登录用户的GET,或(在登录失败的情况下)始终返回未授权HTTP状态的REST端点。在302的同时,我们为JSESSIONID发出一个set cookie。cookie是仅HttpOnly的cookie 当使用直接HTTP表单post时,重定向工作正常,一切都已设置好。当使用JQuery-AJAX时,重定向到GET/user/{userId}不起作用,因为cookie不会随第二个调用一起发送。这个失败的第二次调用应该会触发另一个重定向到auth failed端点,但实际上不会。检查后,我发现第二次呼叫jQuery重定向和HttpOnly cookies,jquery,ajax,cookies,httponly,Jquery,Ajax,Cookies,Httponly,我们使用jQueryAjax登录。登录服务发出HTTP 302,其位置为登录用户的GET,或(在登录失败的情况下)始终返回未授权HTTP状态的REST端点。在302的同时,我们为JSESSIONID发出一个set cookie。cookie是仅HttpOnly的cookie 当使用直接HTTP表单post时,重定向工作正常,一切都已设置好。当使用JQuery-AJAX时,重定向到GET/user/{userId}不起作用,因为cookie不会随第二个调用一起发送。这个失败的第二次调用应该会触发另
“取消”。这意味着什么?首先我该如何解决这个问题?您可能违反了同一原产地政策。您登录到的域是否与提供页面/脚本文件的域相同 如果没有,您将需要使用CORS(跨源资源共享)来使cookie保持不变 您可以在此处了解更多信息:
类似的问题以及如何在这里解决:只是在这里清理一个旧问题。虽然这个答案不是完整的答案,但已经足够接近了。基本上,我需要做的是检查JSessionID的完整描述。有两件事在起作用。1) 登录的域是HTTPS,而GET的域是HTTP,因此遇到了Darren提到的CORS问题。2) cookie中存在路径(/auth vs/rest)问题,这导致CORS修复也无法工作。修复路径问题最终解决了问题。