我有这样一种情况,我从iframe发送ajax请求到与原始页面相同的域,此Iframe从同一域加载。假设,原始页面地址为http://server/client,而iframe src为http://server/client/addin1/view.html。
从Iframe中,我发出初始xhr请求到api:POST http://server/api/connect,它返回201,响应头中带有token和cookie。
现在我打电话给不同的api方法,比如说,GET http://server/api/status,但在这种情况下,我添加了token标头,并且我假设浏览器将包括接收到的cookie - 它是HttpOnly的,我的xhr有withCredentials: true。
神奇的是:在FF中它正常工作,同时设置并发送令牌和cookie,在Chrome中,令牌标头未被添加,也未发送cookie。我已经验证,在两种情况下xhr.setRequestHeader(...)都被调用,并且为了100%确定,我已经使用wireshark验证实际发送了什么内容。
对于Chrome和FF行为不同的原因,您有任何想法吗?也许我错过了简单的东西。
谢谢, Łukasz
从Iframe中,我发出初始xhr请求到api:POST http://server/api/connect,它返回201,响应头中带有token和cookie。
现在我打电话给不同的api方法,比如说,GET http://server/api/status,但在这种情况下,我添加了token标头,并且我假设浏览器将包括接收到的cookie - 它是HttpOnly的,我的xhr有withCredentials: true。
神奇的是:在FF中它正常工作,同时设置并发送令牌和cookie,在Chrome中,令牌标头未被添加,也未发送cookie。我已经验证,在两种情况下xhr.setRequestHeader(...)都被调用,并且为了100%确定,我已经使用wireshark验证实际发送了什么内容。
对于Chrome和FF行为不同的原因,您有任何想法吗?也许我错过了简单的东西。
谢谢, Łukasz