FastAPI fournit des outils intégrés (OAuth2PasswordBearer, utilitaires de sécurité) pour implémenter l'authentification, généralement en utilisant le flux de mot de passe OAuth2 avec des jetons JWT. Le modèle combine l'émission de jetons (connexion) avec une dépendance qui valide le jeton sur les routes protégées.
Hachage des mots de passe et émission d'un JWT à la connexion
passlib.context CryptContext
jose jwt
datetime datetime, timedelta
pwd = CryptContext(schemes=[])
():
user = get_user(form.username)
user pwd.verify(form.password, user.hashed_password):
HTTPException(, )
token = jwt.encode(
{: user.username, : datetime.utcnow() + timedelta(minutes=)},
SECRET_KEY, algorithm=,
)
{: token, : }
