1

我不明白下面的设置曾经可以工作,但它突然坏了。

我在 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
  ]
)

在 AngularJS 上

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

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

我有以下错误:

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

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

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

干杯,

4

1 回答 1

0

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

auth = {
    'exempt_methods': ['OPTIONS']
}
于 2017-05-30T03:50:45.777 回答