Vue d'ensemble

FastAPI-Users 12.0, publié le 1er août 2023, migre vers Pydantic v2 et améliore les schémas d’authentification.

Fonctionnalités principales

Migration Pydantic v2

Tous les modèles utilisent désormais Pydantic v2 avec model_config au lieu de la classe Config interne.

python
from fastapi_users import schemas

class UserRead(schemas.BaseUser[int]):
    nom: str

class UserCreate(schemas.BaseUserCreate):
    nom: str

class UserUpdate(schemas.BaseUserUpdate):
    nom: str | None = None

Transport JWT amélioré

Le transport JWT supporte désormais la configuration de l’audience et de l’émetteur pour une meilleure sécurité.

python
from fastapi_users.authentication import (
    AuthenticationBackend, BearerTransport, JWTStrategy,
)

bearer = BearerTransport(tokenUrl='auth/jwt/login')

def get_jwt_strategy() -> JWTStrategy:
    return JWTStrategy(secret='SECRET', lifetime_seconds=3600)

backend = AuthenticationBackend(
    name='jwt', transport=bearer, get_strategy=get_jwt_strategy,
)

Sources