2025-01-20 22:15:34 +08:00

52 lines
1.4 KiB
Python

from pydantic import BaseModel
from datetime import datetime
class Token(BaseModel):
"""
表示一个JWT令牌的模型类。
Attributes:
access_token (str): 访问令牌,用于身份验证和授权。
refresh_token (str): 刷新令牌,用于获取新的访问令牌。
token_type (str): 令牌类型,通常是"Bearer"
expires_in (int): 访问令牌的有效期,以秒为单位。
"""
access_token: str
refresh_token: str
token_type: str
expires_in: int
class TokenData(BaseModel):
"""
表示JWT令牌中存储的数据的模型类。
Attributes:
id (int): 用户的唯一标识符。
username (str): 用户的用户名。
role (str): 用户的角色或权限。
exp (datetime): 令牌的过期时间。
"""
id: int
username: str
role: str
exp: datetime
class LoginRequest(BaseModel):
"""
表示用户登录请求的模型类。
Attributes:
username (str): 用户登录时输入的用户名。
password (str): 用户登录时输入的密码。
"""
username: str
password: str
class RefreshTokenRequest(BaseModel):
"""
表示刷新令牌请求的模型类。
Attributes:
refresh_token (str): 用于刷新访问令牌的刷新令牌。
"""
refresh_token: str