如何在 FastAPI 中使用 GET 请求对用户进行身份验证?

fra*_*h07 0 python authentication fastapi

我是 API 新手,我需要能够使用请求对用户进行身份验证GET,以便自动化气流中的流程。

是否可以使用GET请求进行身份验证?例如:

hhtp://localhost:8000/transformar?user:password
Run Code Online (Sandbox Code Playgroud)

小智 6

一般来说,在GET请求中进行密码验证是一个非常糟糕的主意。明显的原因是URL 参数中有username和(在 之后)。password?

执行此操作的标准方法是使用类似于 和 的登录 API ,并在 中POST http://localhost:8000/login提供username和。当您对用户进行身份验证时,您可以返回一个令牌。这可以是令牌的 API 密钥等。passwordform-dataJWT

现在,您想要使用此令牌发送任何以下请求。因此,在下一个GET请求中,将此令牌放在标头中的 下"Authentication"。验证令牌后,您可以返回响应数据,否则引发错误403 Unauthorised

FastAPI在这里提供了有关如何实现这一点的正确文档。