我正在开发一个在多个客户端之间共享资源的Web应用程序。经过相当长的时间在网上搜索后,我选择了基于令牌的身份验证并决定使用它。
我在clint端使用AngularJS /拦截器将令牌添加到请求头
if ($localStorage.token) {
config.headers.TOKEN = $localStorage.token;
}
...
//
return config ;
在服务器端, Flask应用程序使用flask-cors来处理Cross原始请求。 现在的问题是,自从我添加拦截器部分以来,所有请求都作为OPTIONS发送(无论原始方法 - $ http.post()或..)
我读了similar question,但答案主要集中在快递上,我无法在此处修复它。 这是我的角色配置:
cors = CORS(application, resources={r"/api/*": {"origins": "*"}}, allow_headers=['X-Requested-With', 'Content-Type', 'TOKEN', 'Accept'])
除了修复它之外,为什么会发生这种情况?这个OPTIONS请求在CORS中扮演什么角色?
答案 0 :(得分:1)
选项是客户端库将发送到目标主机的请求,以检查是否允许请求主机以及在发送原始发布后获取请求之前允许哪些方法用于资源。