2014-08-29 25 views
0

我有一個Angular/Restangular應用程序,它將X-CSRFToken頭附加到所有POST請求到後端REST API。標頭的值是從$ cookies.csrftoken中提取的。這是必要的,因爲Django後端具有SessionAuthentication的行爲 - 它需要這個POST請求頭。 CORS在前端和後端的域之間配置。

這在Chrome或Firefox瀏覽器會話中正常工作。

當通過Webdriver和量角器運行時,csrftoken cookie確實存在併發送,但$ cookies對於Angular是空的,因此X-CSRFToken也是如此。在webdriver生成的Firefox實例中,我可以清楚地看到這發生在打印調試和調試器中。

This only通過量角器運行測試套件時發生。我無法以其他方式複製空的$ cookie。我也很驚訝測試框架下的行爲可能會如此不同。

任何想法?我錯過了什麼嗎?

回答

1

這是因爲量角器打開一個瀏覽器下本地主機CORS安全性更嚴格。我所有的手動測試都是通過localhost以外的本地IP地址訪問應用程序。