如何将请求同步到同步API?

时间:2018-10-09 06:28:15

标签: javascript python reactjs api

我已经使用SQLAlchemyFlaskAuthlibOauth框架)在Python中构建了REST API。

enter image description here

此API在Docker容器上运行,该容器已配置了SSL,CORS,永久会话...

当我尝试在Axios应用程序中使用React在API上请求令牌时,它会起作用:

    axios({
      method: "post",
      url: `.../user/login`,
      data: {username, password}
    }).then(response => {
      ...
    }).catch(error => {
      ...
    })

但是当我尝试撤消此令牌向注销中间件端点发出Axios请求时,我收到Uncaught (in promise) Error: Request failed with status code 403img):

enter image description here

  axios({
    method: "post",
    url: `.../user/logout`,
    headers: {Authorization: `Bearer ${this.props.login.access_token}`},
  }).then(response => {
    ...
  }).catch({
    ...
  })

我不明白。如果我发行令牌并使用PostmanInsonia之类的应用程序撤消,则可以。

我该如何解决?为什么会发生?

我研究并发现了一些线程,但是仍然存在这个问题:Async requests to a web serviceUncaught (in promise) Error: Request failed with status code 404 ...

糟糕¹:出于法律原因,我无法向我的雇主显示API源代码

obs ²:我假设这是异步/同步问题,我不确定100%

1 个答案:

答案 0 :(得分:0)

通常,如果您没有发出请求的权限,则会收到“禁止的403”响应。我认为这与CORS有关。您能否检查浏览器中的“网络”选项卡,以确保您通过Postman和浏览器发出的请求看起来都一样,如果有OPTIONS请求,响应是什么?