我正在开发一个AngularJS网站,它在不同的领域使用API后端。
www.example.com
。api.example.com
。我使用$http.post
对设置cookie的API进行身份验证请求。然后,我对API进行第二次$http.get
调用,而从POST
请求设置的cookie不会被发送回服务器。好像饼干在什么地方丢了。
API是一个烧瓶 Python应用程序,我正在使用烧瓶-cors来启用跨域调用。Access-Control-Allow-Origin
标头设置为http://www.example.com
,正在设置的cookie上的域是api.example.com
我已经使用nginx和url重写将应用程序设置为在一个域下运行。因此前端网站位于www.example.com
,API由www.example.com/api/
访问,cookie正在按预期的方式保存/使用。
我不知道这是我的前端或API网站配置的问题。
发布于 2014-08-04 04:09:34
由于您是从另一个域发送http请求,因此需要确保您的$http
能够发送cookie。在应用程序的配置中,添加:
$httpProvider.defaults.withCredentials = true
这将允许AngularJS将浏览器的cookie发送到服务器。
https://stackoverflow.com/questions/25110556
复制相似问题