FastAPI JWT Auth 项目教程
1. 项目的目录结构及介绍
FastAPI JWT Auth 项目的目录结构如下:
fastapi-jwt-auth/
├── README.md
├── setup.py
├── fastapi_jwt_auth/
│ ├── __init__.py
│ ├── auth.py
│ ├── config.py
│ ├── exceptions.py
│ ├── utils.py
│ └── ...
├── tests/
│ ├── __init__.py
│ ├── test_auth.py
│ ├── test_config.py
│ └── ...
└── ...
目录结构介绍
README.md
: 项目说明文档。setup.py
: 项目安装文件。fastapi_jwt_auth/
: 核心代码目录。__init__.py
: 模块初始化文件。auth.py
: JWT 认证相关功能实现。config.py
: 配置文件处理。exceptions.py
: 自定义异常处理。utils.py
: 工具函数。
tests/
: 测试代码目录。__init__.py
: 测试模块初始化文件。test_auth.py
: 认证功能测试。test_config.py
: 配置功能测试。
2. 项目的启动文件介绍
项目的启动文件通常是 main.py
或 app.py
,但在 FastAPI JWT Auth 项目中,启动文件可能是一个示例文件,用于演示如何集成和使用 JWT 认证。
假设启动文件为 main.py
,其内容可能如下:
from fastapi import FastAPI
from fastapi_jwt_auth import AuthJWT
app = FastAPI()
@app.get("/")
def index(authorize: AuthJWT = Depends()):
authorize.jwt_required()
return {"message": "Hello World"}
启动文件介绍
FastAPI
实例化:创建一个 FastAPI 应用实例。AuthJWT
依赖注入:使用Depends
注入 JWT 认证依赖。- 路由定义:定义一个简单的路由
/
,并使用 JWT 认证。
3. 项目的配置文件介绍
FastAPI JWT Auth 项目的配置文件通常是一个 Python 模块,例如 config.py
,其中包含 JWT 认证的相关配置。
假设配置文件为 config.py
,其内容可能如下:
class Settings:
authjwt_secret_key: str = "secret"
authjwt_algorithm: str = "HS256"
authjwt_access_token_expires: int = 3600
authjwt_refresh_token_expires: int = 86400
配置文件介绍
authjwt_secret_key
: JWT 密钥。authjwt_algorithm
: JWT 签名算法。authjwt_access_token_expires
: 访问令牌过期时间(秒)。authjwt_refresh_token_expires
: 刷新令牌过期时间(秒)。
通过以上配置,可以灵活地调整 JWT 认证的行为。
以上是 FastAPI JWT Auth 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对您有所帮助!