AngularJS 在某些情况下忽略 Set-Cookie header
AngularJS ignoring Set-Cookie header in certain cases
基本上我的问题是将 set-cookie header 与 angular 一起使用(看起来即使将 withCredentials 设置为 true 他也被忽略了)但是如果我做同样的事情,这就是问题请求 cookie,但如果我更改路径,则不起作用。
示例;
POST http://localhost/app/api/oauth/ HTTP/1.1
[other headers and payload]
然后我得到答案:
HTTP/1.1 200 OK
Set-Cookie: ; expires=Wed, 31-Mar-2015 01:34:53 GMT
并发送访问资源的请求:
GET http://localhost/app/api/oauth/test HTTP/1.1
Cookie:blah=something;
到目前为止一切正常,但是当我尝试访问我服务器上的其他资源时:
GET http://localhost/app/api/othercontroller/test HTTP/1.1
cookie 不再发送,只有当我在创建 cookie 的路径之后访问某个路径时。
这就是网络监视器显示给我的内容。但是我在资源选项卡(在 cookie 区域)上看不到那个 blah coockie。
注意:我已经尝试使用或不使用安全 cookie,以及是否使用仅 http cookie 以及两者之间的所有组合。我尝试不使用 CORS 或启用 CORS,但任何人都可以工作。
有人知道可以是什么吗?
感谢您的时间和耐心。
我正在粘贴我评论中的建议。
您的初始 cookie 设置在比您的第二个请求更深的 HTTP 端点路径的响应中。
Set-Cookie: ; Domain=foo.com; Path=/; expires=Wed, 31-Mar-2015 01:34:53 GMT
您可以通过在响应 header 中指定 Path
参数来指定放置 cookie 的位置,如上所示。
基本上我的问题是将 set-cookie header 与 angular 一起使用(看起来即使将 withCredentials 设置为 true 他也被忽略了)但是如果我做同样的事情,这就是问题请求 cookie,但如果我更改路径,则不起作用。
示例;
POST http://localhost/app/api/oauth/ HTTP/1.1
[other headers and payload]
然后我得到答案:
HTTP/1.1 200 OK
Set-Cookie: ; expires=Wed, 31-Mar-2015 01:34:53 GMT
并发送访问资源的请求:
GET http://localhost/app/api/oauth/test HTTP/1.1
Cookie:blah=something;
到目前为止一切正常,但是当我尝试访问我服务器上的其他资源时:
GET http://localhost/app/api/othercontroller/test HTTP/1.1
cookie 不再发送,只有当我在创建 cookie 的路径之后访问某个路径时。
这就是网络监视器显示给我的内容。但是我在资源选项卡(在 cookie 区域)上看不到那个 blah coockie。
注意:我已经尝试使用或不使用安全 cookie,以及是否使用仅 http cookie 以及两者之间的所有组合。我尝试不使用 CORS 或启用 CORS,但任何人都可以工作。
有人知道可以是什么吗? 感谢您的时间和耐心。
我正在粘贴我评论中的建议。
您的初始 cookie 设置在比您的第二个请求更深的 HTTP 端点路径的响应中。
Set-Cookie: ; Domain=foo.com; Path=/; expires=Wed, 31-Mar-2015 01:34:53 GMT
您可以通过在响应 header 中指定 Path
参数来指定放置 cookie 的位置,如上所示。