Falcon cors with Angular 2

时间:2017-05-29 18:04:26

标签: python angular cors falcon

我不明白下面的设置曾经起作用但它突然破了。

我在Falcon上配置CORS如下(我通过gunicorn运行):

cors = CORS(
  allow_all_origins=True,
  allow_all_headers=True,
  allow_all_methods=True
)

api = application = falcon.API(
  middleware=[
      cors.middleware,
      auth_middleware,
      sqlalchemy_middleware
  ]
)

On AngularJS

return this.authHttp.get(CONFIG.apiUrl + '/user').map(
        (res: Response) => res.json());

使用http.get手动设置令牌不起作用。 我可以访问localStorage.getItem中的令牌('令牌')。

我遇到以下错误:

zone.js:2019 OPTIONS http://0.0.0.0:8000/user 401(未经授权) XMLHttpRequest无法加载http://0.0.0.0:8000/user。预检的响应具有无效的HTTP状态代码401

我在互联网上到处搜索,我知道这是一个服务器问题...但是服务器过去常常使用该配置。

如果您有任何想法,请告诉我。

干杯,

1 个答案:

答案 0 :(得分:0)

解决方案很简单,我需要在控制器的“OPTIONS”请求中禁用FalconAuthMiddleware的身份验证。

auth = {
    'exempt_methods': ['OPTIONS']
}