FastAPI 中如何使用 HTTP Basic 认证?

推荐答案

在 FastAPI 中,可以使用 HTTPBasicHTTPBasicCredentials 来实现 HTTP Basic 认证。以下是一个简单的示例:

-- -------------------- ---- -------
---- ------- ------ -------- -------- -------------- ------
---- ---------------- ------ ---------- --------------------

--- - ---------

-------- - -----------

--- --------------------------------- -------------------- - -------------------
    ---------------- - ------
    ---------------- - ----------
    -- -------------------- -- ---------------- -- -------------------- -- -----------------
        ----- --------------
            -----------------------------------------
            ----------------- -------- -- ----------
            ---------------------------- ---------
        -
    ------ --------------------

-------------------
--- -------------------------- --- - -------------------------------
    ------ ----------- -------- ------------

在这个示例中,get_current_username 函数用于验证用户名和密码。如果验证失败,将返回 401 状态码和错误信息。

本题详细解读

1. 导入必要的模块

首先,需要导入 FastAPI 的核心模块以及用于 HTTP Basic 认证的 HTTPBasicHTTPBasicCredentials

2. 创建 FastAPI 应用实例

创建一个 FastAPI 应用实例。

3. 创建 HTTPBasic 实例

创建一个 HTTPBasic 实例,用于处理 HTTP Basic 认证。

4. 定义认证函数

定义一个函数 get_current_username,该函数接收 HTTPBasicCredentials 作为参数,并验证用户名和密码。

-- -------------------- ---- -------
--- --------------------------------- -------------------- - -------------------
    ---------------- - ------
    ---------------- - ----------
    -- -------------------- -- ---------------- -- -------------------- -- -----------------
        ----- --------------
            -----------------------------------------
            ----------------- -------- -- ----------
            ---------------------------- ---------
        -
    ------ --------------------

5. 创建受保护的路由

创建一个受保护的路由 /secure,该路由依赖于 get_current_username 函数来验证用户身份。

6. 运行应用

最后,运行 FastAPI 应用。

通过以上步骤,你就可以在 FastAPI 中实现 HTTP Basic 认证了。

纠错
反馈