AuthX 开源项目教程
1. 项目的目录结构及介绍
AuthX 项目的目录结构如下:
authx/
├── authx/
│ ├── __init__.py
│ ├── api/
│ │ ├── __init__.py
│ │ ├── endpoints/
│ │ │ ├── __init__.py
│ │ │ ├── auth.py
│ │ │ ├── user.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── auth.py
│ │ │ ├── user.py
│ │ ├── schemas/
│ │ │ ├── __init__.py
│ │ │ ├── auth.py
│ │ │ ├── user.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── config.py
│ │ ├── security.py
│ ├── db/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── base_class.py
│ │ ├── session.py
├── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_auth.py
│ ├── test_user.py
├── .env
├── .gitignore
├── Dockerfile
├── README.md
├── requirements.txt
├── setup.py
目录结构介绍
authx/
: 项目的主目录,包含了所有的源代码。api/
: 包含了 API 相关的文件。endpoints/
: 包含了 API 的端点处理逻辑。models/
: 包含了数据库模型。schemas/
: 包含了 Pydantic 模型,用于数据验证和序列化。
core/
: 包含了核心配置和安全相关的文件。db/
: 包含了数据库相关的文件。
tests/
: 包含了测试相关的文件。.env
: 环境变量配置文件。.gitignore
: Git 忽略文件配置。Dockerfile
: Docker 配置文件。README.md
: 项目说明文档。requirements.txt
: 项目依赖文件。setup.py
: 项目安装脚本。
2. 项目的启动文件介绍
项目的启动文件是 authx/main.py
,其内容如下:
from fastapi import FastAPI
from authx import api
app = FastAPI()
app.include_router(api.router)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
启动文件介绍
FastAPI
实例化:创建一个 FastAPI 应用实例。app.include_router(api.router)
: 将 API 路由包含到应用中。uvicorn.run(app, host="0.0.0.0", port=8000)
: 使用 Uvicorn 运行应用,监听所有网络接口,端口为 8000。
3. 项目的配置文件介绍
项目的配置文件是 authx/core/config.py
,其内容如下:
from pydantic import BaseSettings
class Settings(BaseSettings):
API_V1_STR: str = "/api/v1"
SECRET_KEY: str = "secret"
ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
DATABASE_URL: str = "sqlite:///./sql_app.db"
settings = Settings()
配置文件介绍
BaseSettings
继承:使用 Pydantic 的BaseSettings
类来管理配置。API_V1_STR
: API 的版本路径。SECRET_KEY
: JWT 密钥。ALGORITHM
: JWT 算法。ACCESS_TOKEN_EXPIRE_MINUTES
: 访问令牌的过期时间。DATABASE_URL
: 数据库连接 URL。
以上是 AuthX 开源项目的教程,包含了项目的目录结构、