首页 > 解决方案 > 使用 FastApi 在服务器之间进行乒乓球

问题描述

所以我正在构建一些模拟服务器来模拟实际代码中涉及的服务器。由于在身份验证过程中服务器之间发生的握手很少,它本质上看起来就像服务器之间的乒乓球。

这是它的外观——

Server1 -> 在服务器 2 上连接 api

在服务器 1 上授权 <- 在服务器 2 上连接 api

在服务器 1 上授权 -> 在服务器 1 上调用 /Callback 端点

<- 服务器 1 向服务器 2 发送 OK(以 OK 结束握手)

考虑到这一点,我编写了以下代码来模拟握手

# Server 2 (main.py)
@app.get("/v1/connect")
def connect():
  httpx.get("server1/authorize")
@app.get("/callback")
def do_callback():
  return "OK"


#Server 1 (main.py)
@app.get("/v1/authorize")
def do_authorize():
  httpx.get("server1/callback")

但是当我尝试通过调用 Server2 上的 Connect 端点来启动服务器 1 和 2 之间的交互时,我注意到错误,服务器 1 抛出httpcore exception,而服务器 2 尝试调用服务器 1 的授权端点

知道这里有什么问题

我正在使用 fastApi 构建模拟服务器

标签: python-3.xfastapi

解决方案


推荐阅读