使用 fastapi swagger UI 中的授权按钮发送生成的令牌以提供访问权限

Pyt*_*der 5 python oauth-2.0 swagger fastapi

我正在执行的步骤:

  1. /send_otp- 发送OTP到给定号码
  2. /token- 如果提供的号码和 OTP 正确,则生成访问令牌
  3. 授权按钮 - 需要提供令牌才能授予访问权限#这里需要帮助
  4. /show_results- 需要授权才能显示结果

我正在使用oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/token")授权。授权按钮要求输入用户名、密码、客户端 ID 和客户端密码。

如何从 swagger UI 进行测试?我可以使用带有不记名令牌的邮递员,但是是否可以使用 swagger UI 来测试它?如何利用授权按钮提供对/show_resultsAPI 的访问?

/token:路线看起来像

@app.post("/token")
def generate_token(phone_number: str, otp: str):
    ...

    # Return OAuth2 token
    return {"access_token": encoded_jwt, "token_type": "bearer"}
Run Code Online (Sandbox Code Playgroud)

/Show_results:路线看起来像

@app.get("/show_results")
def show_results(token: Optional[str] = Depends(oauth2_scheme)):
    ...
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

授权按钮视图:

在此输入图像描述