Vue d'ensemble

FastAPI-Users 10.0, publié le 1er mars 2022, introduit l'injection de dépendances pour l'authentification et la gestion des utilisateurs.

Fonctionnalités principales

Injection de dépendances

L'authentification est gérée via le système d'injection de dépendances de FastAPI, rendant la configuration plus modulaire et testable.

python
from fastapi import Depends, FastAPI
from fastapi_users import FastAPIUsers
from fastapi_users.authentication import BearerTransport, JWTStrategy

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

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

# fastapi_users = FastAPIUsers[User, uuid.UUID](
#     get_user_manager,
#     [auth_backend],
# )

Routes préconfigurées

Les routes d'inscription, connexion et gestion de profil sont préconfigurées et personnalisables via les dépendances.

python
from fastapi import FastAPI

app = FastAPI()

# Routes d'authentification automatiques
# app.include_router(
#     fastapi_users.get_auth_router(auth_backend),
#     prefix='/auth/jwt',
# )
# app.include_router(
#     fastapi_users.get_register_router(UserRead, UserCreate),
#     prefix='/auth',
# )

Sources