16 lines
542 B
Python
16 lines
542 B
Python
from pydantic import BaseModel, ConfigDict, Field
|
|||
|
|
|
||
|
|
|
||
|
|
class LoginRequest(BaseModel):
|
||
|
|
"""账号密码登录。
|
||
|
|
|
||
|
|
`extra="forbid"`:多传字段直接 422,避免调用方以为可以塞 `roles`/`user_id`
|
||
|
|
之类的越权参数(身份只能由服务端按 RBAC 解析)。
|
||
|
|
长度上限是防滥用,不是密码策略——真正的校验在 `AuthService`。
|
||
|
|
"""
|
||
|
|
|
||
|
|
model_config = ConfigDict(extra="forbid")
|
||
|
|
|
||
|
|
username: str = Field(min_length=1, max_length=64)
|
||
|
|
password: str = Field(min_length=1, max_length=128)
|